void initGossipManager(String[] args) { GossipSettings s = new GossipSettings(); s.setWindowSize(1000); s.setGossipInterval(100); s.setActiveGossipClass(DatacenterRackAwareActiveGossiper.class.getName()); Map<String, String> gossipProps = new HashMap<>(); gossipProps.put("sameRackGossipIntervalMs", "2000"); gossipProps.put("differentDatacenterGossipIntervalMs", "10000"); s.setActiveGossipProperties(gossipProps); Map<String, String> props = new HashMap<>(); props.put(DatacenterRackAwareActiveGossiper.DATACENTER, args[4]); props.put(DatacenterRackAwareActiveGossiper.RACK, args[5]); GossipManager manager = GossipManagerBuilder.newBuilder().cluster("mycluster") .uri(URI.create(args[0])).id(args[1]).gossipSettings(s) .gossipMembers( Arrays.asList(new RemoteMember("mycluster", URI.create(args[2]), args[3]))) .properties(props).build(); manager.init(); setGossipService(manager); }
@Test public void useMemberListIfProvided() throws URISyntaxException { LocalMember member = new LocalMember( "aCluster", new URI("udp://localhost:2000"), "aGossipMember", System.nanoTime(), new HashMap<String, String>(), 1000, 1, "exponential"); List<Member> memberList = new ArrayList<>(); memberList.add(member); GossipManager gossipManager = builder .uri(new URI("udp://localhost:8000")) .gossipMembers(memberList).registry(new MetricRegistry()).build(); assertEquals(1, gossipManager.getDeadMembers().size()); assertEquals(member.getId(), gossipManager.getDeadMembers().get(0).getId()); }
void initGossipManager(String[] args) { GossipSettings s = new GossipSettings(); s.setWindowSize(1000); s.setGossipInterval(100); GossipManager gossipService = GossipManagerBuilder.newBuilder().cluster("mycluster") .uri(URI.create(args[0])).id(args[1]) .gossipMembers(Collections .singletonList(new RemoteMember("mycluster", URI.create(args[2]), args[3]))) .gossipSettings(s).build(); setGossipService(gossipService); }
.uri(uri) .id(i + "") .gossipMembers(startupMembers) .gossipSettings(settings) .build(); .uri(uri) .id(shutdownId+"") .gossipMembers(startupMembers) .build(); clients.add(gossipService);
URI uri = new URI("udp://" + "127.0.0.1" + ":" + (base + i)); GossipManager gossipService = GossipManagerBuilder.newBuilder().cluster(cluster).uri(uri) .id(i + "").gossipMembers(startupMembers).gossipSettings(settings).build(); clients.add(gossipService); gossipService.init();
URI uri = new URI("udp://" + "127.0.0.1" + ":" + (base + i)); GossipManager gossipService = GossipManagerBuilder.newBuilder().cluster(cluster).uri(uri) .id(i + "").gossipMembers(startupMembers).gossipSettings(settings).build(); clients.add(gossipService); gossipService.init();
URI uri = new URI("udp://" + "127.0.0.1" + ":" + (base + i)); GossipManager gossipService = GossipManagerBuilder.newBuilder().cluster(cluster).uri(uri) .id(i + "").gossipMembers(startupMembers).gossipSettings(settings).build(); clients.add(gossipService); gossipService.init();
URI uri = new URI("udp://" + "127.0.0.1" + ":" + (50000 + i)); GossipManager gossipService = GossipManagerBuilder.newBuilder().cluster(cluster).uri(uri) .id(i + "").gossipMembers(startupMembers).gossipSettings(settings).build(); clients.add(gossipService); gossipService.getLockManager().setNumberOfNodes(clusterMembers);
.id("0") .properties(x) .gossipMembers(startupMembers) .gossipSettings(settings).build(); gossipService1.init(); .id("1") .properties(y) .gossipMembers(Arrays.asList(new RemoteMember("a", new URI("udp://" + "127.0.0.1" + ":" + (29000 + 0)), "0"))) .gossipSettings(settings).build();
.id(i + "") .gossipSettings(settings) .gossipMembers(startupMembers) .build(); gossipService.init();
@Test public void dataTest() throws InterruptedException, URISyntaxException, NoSuchAlgorithmException, NoSuchProviderException, IOException { final String keys = System.getProperty("java.io.tmpdir") + "/keys"; GossipSettings settings = gossiperThatSigns(keys); setup(keys); String cluster = UUID.randomUUID().toString(); List<Member> startupMembers = new ArrayList<>(); for (int i = 1; i < 2; ++i) { URI uri = new URI("udp://" + "127.0.0.1" + ":" + (30000 + i)); startupMembers.add(new RemoteMember(cluster, uri, i + "")); } final List<GossipManager> clients = new ArrayList<>(); for (int i = 1; i < 3; ++i) { URI uri = new URI("udp://" + "127.0.0.1" + ":" + (30000 + i)); GossipManager gossipService = GossipManagerBuilder.newBuilder() .cluster(cluster) .uri(uri) .id(i + "") .gossipMembers(startupMembers) .gossipSettings(settings) .build(); gossipService.init(); clients.add(gossipService); } assertTwoAlive(clients); assertOnlySignedMessages(clients); cleanup(keys, clients); }
public void generateStandardNodes(final int memberCount) throws URISyntaxException { if(nodes.size() > 0){ after(); nodes.clear(); } GossipSettings settings = new GossipSettings(); settings.setPersistRingState(false); settings.setPersistDataState(false); String cluster = UUID.randomUUID().toString(); int seedNodes = 1; List<Member> startupMembers = new ArrayList<>(); for (int i = 1; i < seedNodes + 1; ++i) { URI uri = new URI("udp://" + "127.0.0.1" + ":" + (50000 + i)); startupMembers.add(new RemoteMember(cluster, uri, i + "")); } for (int i = 1; i < memberCount + 1; ++i) { URI uri = new URI("udp://" + "127.0.0.1" + ":" + (50000 + i)); GossipManager gossipService = GossipManagerBuilder.newBuilder().cluster(cluster).uri(uri) .id(i + "").gossipMembers(startupMembers).gossipSettings(settings).build(); gossipService.init(); register(gossipService); } } @Before
@BeforeClass public static void initializeMembers() throws InterruptedException, UnknownHostException, URISyntaxException{ final int clusterMembers = 2; GossipSettings settings = new GossipSettings(); settings.setPersistRingState(false); settings.setPersistDataState(false); String cluster = UUID.randomUUID().toString(); List<Member> startupMembers = new ArrayList<>(); for (int i = 0; i < clusterMembers; ++i){ int id = i + 1; URI uri = new URI("udp://" + "127.0.0.1" + ":" + (50000 + id)); startupMembers.add(new RemoteMember(cluster, uri, id + "")); } for (Member member : startupMembers){ GossipManager gossipService = GossipManagerBuilder.newBuilder().cluster(cluster).uri(member.getUri()) .id(member.getId()).gossipMembers(startupMembers).gossipSettings(settings).build(); clients.add(gossipService); gossipService.init(); } }
@Test(expected = IllegalArgumentException.class) public void ifSignMustHaveKeys() throws URISyntaxException, UnknownHostException, InterruptedException { String cluster = UUID.randomUUID().toString(); GossipSettings settings = withSigning(simpleSettings(new GossipSettings())); List<Member> startupMembers = new ArrayList<>(); URI uri = new URI("udp://" + "127.0.0.1" + ":" + (30000 + 1)); GossipManager gossipService = GossipManagerBuilder.newBuilder() .cluster(cluster) .uri(uri) .id(1 + "") .gossipMembers(startupMembers) .gossipSettings(settings) .build(); gossipService.init(); }
private File aGossiperPersists(GossipSettings settings) throws UnknownHostException, InterruptedException, URISyntaxException { GossipManager gossipService = GossipManagerBuilder.newBuilder() .cluster("a") .uri(new URI("udp://" + "127.0.0.1" + ":" + (29000 + 1))) .id("1") .gossipSettings(settings) .gossipMembers( Arrays.asList( new RemoteMember("a", new URI("udp://" + "127.0.0.1" + ":" + (29000 + 0)), "0"), new RemoteMember("a", new URI("udp://" + "127.0.0.1" + ":" + (29000 + 2)), "2"))).build(); gossipService.getRingState().writeToDisk(); return GossipManager.buildRingStatePath(gossipService); }
private void createDcNode(URI uri, String id, GossipSettings settings, RemoteMember seeder, String cluster, String dataCenter, String rack){ Map<String, String> props = new HashMap<>(); props.put(DatacenterRackAwareActiveGossiper.DATACENTER, dataCenter); props.put(DatacenterRackAwareActiveGossiper.RACK, rack); GossipManager dcNode = GossipManagerBuilder.newBuilder().cluster(cluster).uri(uri).id(id) .gossipSettings(settings).gossipMembers(Arrays.asList(seeder)).properties(props) .build(); dcNode.init(); register(dcNode); }
@Test public void createMembersListIfNull() throws URISyntaxException { GossipManager gossipManager = builder.gossipMembers(null).registry(new MetricRegistry()).build(); assertNotNull(gossipManager.getLiveMembers()); }
private void createDcNode(URI uri, String id, GossipSettings settings, RemoteMember seeder, String cluster, String dataCenter, String rack){ Map<String, String> props = new HashMap<>(); props.put(DatacenterRackAwareActiveGossiper.DATACENTER, dataCenter); props.put(DatacenterRackAwareActiveGossiper.RACK, rack); GossipManager dcNode = GossipManagerBuilder.newBuilder().cluster(cluster).uri(uri).id(id) .gossipSettings(settings).gossipMembers(Arrays.asList(seeder)).properties(props) .build(); dcNode.init(); register(dcNode); }