testing: replication
[awesomized/libmemcached] / test / lib / MemcachedCluster.cpp
index 573dddf384edd850b9c07723b4fa857b3ca5a84a..bb164e5d1982ea707e0375db807f3d7bcefa9724 100644 (file)
@@ -134,10 +134,16 @@ void MemcachedCluster::enableBuffering(bool enable) {
 
 void MemcachedCluster::enableReplication() {
   REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc,
-      MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, memcached_server_count(&memc)));
+      MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS, memcached_server_count(&memc) - 1));
 }
 
 void MemcachedCluster::enableUdp(bool enable) {
   REQUIRE(MEMCACHED_SUCCESS == memcached_behavior_set(&memc,
       MEMCACHED_BEHAVIOR_USE_UDP, enable));
 }
+
+void MemcachedCluster::killOneServer() {
+  const auto &servers = cluster.getServers();
+  const auto &victim = servers[random_num(0UL, servers.size() - 1)];
+  ::kill(victim.getPid(), SIGKILL);
+}