cluster);
List<Node> nodesRoutedTo = routingStrategy.routeRequest("test".getBytes());
long start = System.nanoTime(), elapsed;
try {
s1.put(new ByteArray("test".getBytes()), versioned, null);
} finally {
elapsed = (System.nanoTime() - start) / Time.NS_PER_MS;
assertTrue(elapsed + " < " + SLEEPY_TIME, elapsed < SLEEPY_TIME);
}
Thread.sleep(SLEEPY_TIME - elapsed);
for(Node node: nodesRoutedTo) {
assertEquals(subStores.get(node.getId())
.get(new ByteArray("test".getBytes()), null)
.get(0), versioned);
}
// make sure the failure detector adds back any previously failed nodes
Thread.sleep(BANNAGE_PERIOD + 100);
start = System.nanoTime();
try {
s1.delete(new ByteArray("test".getBytes()), versioned.getVersion());
} finally {
elapsed = (System.nanoTime() - start) / Time.NS_PER_MS;
assertTrue(elapsed + " < " + SLEEPY_TIME, elapsed < SLEEPY_TIME);
}
Thread.sleep(SLEEPY_TIME - elapsed);
for(Node node: nodesRoutedTo) {
assertEquals(subStores.get(node.getId())
.get(new ByteArray("test".getBytes()), null)
.size(), 0);
}
}