int deadlockDetectCount = 0; while (true) { SharedDataMessage message = gossipManager.findSharedGossipData(generateLockKey(key)); if (message == null || !(message.getPayload() instanceof MajorityVote)) { continue;
private void updateVotes() { for (String lockKey : lockKeys) { SharedDataMessage message = gossipManager.findSharedGossipData(lockKey); if (message == null || !(message.getPayload() instanceof MajorityVote)) { continue;
private void assertDataIsRemoved(GossipManager gm){ TUnit.assertThat(() -> gm.findPerNodeGossipData(myId, key)).equals(null); TUnit.assertThat(() -> gm.findSharedGossipData(key)).equals(null); }
/** * Get the voted node id from this node for a given key * @param key key of the data object * @return Voted node id */ public String getVotedCandidateNodeId(String key) { SharedDataMessage message = gossipManager.findSharedGossipData(generateLockKey(key)); if (message == null || !(message.getPayload() instanceof MajorityVote)) { return null; } MajorityVote majorityVote = (MajorityVote) message.getPayload(); return getVotedCandidateNodeId(gossipManager.getMyself().getId(), majorityVote.value()); }
private void assertDataIsAtCorrectValue(GossipManager gm){ Assert.assertEquals(value, gm.findPerNodeGossipData(myId, key).getPayload()); Assert.assertEquals(1, registry.getGauges().get(GossipCoreConstants.PER_NODE_DATA_SIZE).getValue()); Assert.assertEquals(value, gm.findSharedGossipData(key).getPayload()); Assert.assertEquals(1, registry.getGauges().get(GossipCoreConstants.SHARED_DATA_SIZE).getValue()); }
SharedDataMessage message = nodes.get(1).findSharedGossipData("Dc1Rack1"); if(message == null){ return ""; SharedDataMessage message = nodes.get(3).findSharedGossipData("Dc2Rack1"); if(message == null){ return "";
SharedDataMessage message = nodes.get(1).findSharedGossipData("public"); if(message == null){ return ""; SharedDataMessage message = nodes.get(2).findSharedGossipData("public"); if(message == null){ return ""; SharedDataMessage message = nodes.get(1).findSharedGossipData("wl"); if(message == null){ return ""; SharedDataMessage message = nodes.get(2).findSharedGossipData("bl"); if(message == null){ return "";
@Test public void simpleDataTest(){ TUnit.assertThat(() -> { int total = 0; for (GossipManager client : clients){ total += client.getLiveMembers().size(); } return total; }).afterWaitingAtMost(10, TimeUnit.SECONDS).isEqualTo(2); clients.get(0).gossipPerNodeData(generatePerNodeMsg("a", "b")); clients.get(0).gossipSharedData(generateSharedMsg("a", "c")); TUnit.assertThat(() -> { PerNodeDataMessage x = clients.get(1).findPerNodeGossipData(1 + "", "a"); if (x == null) return ""; else return x.getPayload(); }).afterWaitingAtMost(10, TimeUnit.SECONDS).isEqualTo("b"); TUnit.assertThat(() -> { SharedDataMessage x = clients.get(1).findSharedGossipData("a"); if (x == null) return ""; else return x.getPayload(); }).afterWaitingAtMost(10, TimeUnit.SECONDS).isEqualTo("c"); }
gossipService.init(); Assert.assertEquals("red", ((AToothpick) gossipService.findPerNodeGossipData(nodeId, "a").getPayload()).getColor()); Assert.assertEquals("blue", ((AToothpick) gossipService.findSharedGossipData("a").getPayload()).getColor()); File f = GossipManager.buildSharedDataPath(gossipService); File g = GossipManager.buildPerNodeDataPath(gossipService);