Add test case for situation where callback shouldn't be set because of behavior settings.
[awesomized/libmemcached] / libmemcached / server.hpp
index 320da1152fe0f07aea280dbfda3ad98e3a29c0cc..b5f31f6676191585cd9f8bf8bbc5b89072bf1dd3 100644 (file)
@@ -37,8 +37,6 @@
 
 #pragma once
 
-#include <libmemcached/basic_string.h>
-
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
@@ -93,7 +91,11 @@ static inline void memcached_mark_server_for_timeout(memcached_server_write_inst
     }
 
     server->state= MEMCACHED_SERVER_STATE_IN_TIMEOUT;
-    server->server_failure_counter++;
+    if (server->server_failure_counter_query_id != server->root->query_id)
+    {
+      server->server_failure_counter++;
+      server->server_failure_counter_query_id= server->root->query_id;
+    }
     set_last_disconnected_host(server);
   }
 }