unlikely (rc != MEMCACHED_SUCCESS)
return rc;
- unlikely (ptr->hosts == NULL || ptr->number_of_hosts == 0)
+ unlikely (ptr->hosts == NULL || memcached_server_count(ptr) == 0)
return MEMCACHED_NO_SERVERS;
server_key= memcached_generate_hash(ptr, master_key, master_key_length);
}
else
{
+ /* ensure that we are connected, otherwise we might bump the
+ * command counter before connection */
+ if ((rc= memcached_connect(&ptr->hosts[server_key])) != MEMCACHED_SUCCESS)
+ {
+ WATCHPOINT_ERROR(rc);
+ return rc;
+ }
+
if (ptr->hosts[server_key].minor_version == 0)
{
if (no_reply || !to_write)
for (uint32_t x= 0; x < ptr->number_of_replicas; ++x)
{
++server_key;
- if (server_key == ptr->number_of_hosts)
+ if (server_key == memcached_server_count(ptr))
server_key= 0;
memcached_server_st* server= &ptr->hosts[server_key];