Cache cache1 = cache(0, "replQueue");
Cache cache2 = cache(1, "replQueue");
//only place one element, queue size is 10.
cache1.put("key", "value");
ReplicationQueue replicationQueue = TestingUtil.extractComponent(cache1, ReplicationQueue.class);
assert replicationQueue != null;
assert replicationQueue.getElementsCount() == 1;
assert cache2.get("key") == null;
assert cache1.get("key").equals("value");
ReplQueueTestScheduledExecutorFactory.command.run();
//in next 5 secs, expect the replication to occur
long start = System.currentTimeMillis();
while (System.currentTimeMillis() - start < 5000) {
if (cache2.get("key") != null) break;
Thread.sleep(50);
}
assert cache2.get("key").equals("value");
assert replicationQueue.getElementsCount() == 0;
}