Fixed issue around "when to calculate" next server key logic.
author <brian@gir-2.local> <>
Fri, 29 Feb 2008 10:26:48 +0000 (02:26 -0800)
committer <brian@gir-2.local> <>
Fri, 29 Feb 2008 10:26:48 +0000 (02:26 -0800)
Decided to not make the distibution an issue.

lib/memcached_auto.c
lib/memcached_delete.c
lib/memcached_get.c
lib/memcached_storage.c

index 3aa63eedc4a8a7af09240250cebf49851bbeea73..923bfc142eef9c049384193e630b108b7ca757c1 100644 (file)
@@ -62,7 +62,7 @@ static memcached_return memcached_auto(memcached_st *ptr,
     }
     /* On error we just jump to the next potential server */
 error:
-    if (replicas > 1 && ptr->distribution == MEMCACHED_DISTRIBUTION_CONSISTENT)
+    if (ptr->number_of_replicas > 1)
     {
       if (server_key == (ptr->number_of_hosts - 1))
         server_key= 0;
index 24dc16601c178dc30b498658701bdae332948a31..dea5c92ff367c2df7631cab331e9037f54a814d9 100644 (file)
@@ -12,7 +12,7 @@ memcached_return memcached_delete_by_key(memcached_st *ptr,
                                          char *key, size_t key_length,
                                          time_t expiration)
 {
-  char to_write;
+  char to_write= (ptr->flags & MEM_BUFFER_REQUESTS) ? 0 : 1;
   size_t send_length;
   char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
   unsigned int server_key;
@@ -41,8 +41,6 @@ memcached_return memcached_delete_by_key(memcached_st *ptr,
     goto error;
   }
 
-  to_write= (ptr->flags & MEM_BUFFER_REQUESTS) ? 0 : 1;
-
   do
   {
     rc[replicas]= memcached_do(&ptr->hosts[server_key], buffer, send_length, to_write);
@@ -62,7 +60,7 @@ memcached_return memcached_delete_by_key(memcached_st *ptr,
 
     /* On error we just jump to the next potential server */
 error:
-    if (replicas > 1 && ptr->distribution == MEMCACHED_DISTRIBUTION_CONSISTENT)
+    if (ptr->number_of_replicas > 1)
     {
       if (server_key == (ptr->number_of_hosts - 1))
         server_key= 0;
index 374793f5346e485718c9436ca7d679006178cabe..b3cd8e51b64418a453127a8064fb051c2b59508b 100644 (file)
@@ -84,7 +84,7 @@ char *memcached_get_by_key(memcached_st *ptr,
 
     /* On error we just jump to the next potential server */
 error:
-    if (replicas > 1 && ptr->distribution == MEMCACHED_DISTRIBUTION_CONSISTENT)
+    if (ptr->number_of_replicas > 1)
     {
       if (server_key == (ptr->number_of_hosts - 1))
         server_key= 0;
index aac9b9227cae8d1c77f62ee0a912a86f53e39fb3..959f0b644fb254175d3ebbb4e3a55c4d4e43dc40 100644 (file)
@@ -118,7 +118,7 @@ static inline memcached_return memcached_send(memcached_st *ptr,
 
     /* On error we just jump to the next potential server */
 error:
-    if (replicas > 1 && ptr->distribution == MEMCACHED_DISTRIBUTION_CONSISTENT)
+    if (ptr->number_of_replicas > 1)
     {
       if (server_key == (ptr->number_of_hosts - 1))
         server_key= 0;