check.addCrashedMembers(removedMembers); if (check.shouldBeCoordinator(this.localAddress)) { if (!isCoordinator) { becomeCoordinator();
@Test public void testCreateView() throws Exception { int numMembers = members.size(); NetView view = new NetView(members.get(0), 2, members); setFailureDetectionPorts(view); assertTrue(view.getCreator().equals(members.get(0))); assertEquals(2, view.getViewId()); assertEquals(members, view.getMembers()); assertEquals(0, view.getCrashedMembers().size()); assertEquals(members.get(1), view.getLeadMember()); // a locator can't be lead member assertEquals(0, view.getShutdownMembers().size()); assertEquals(1, view.getNewMembers().size()); assertEquals(members.get(numMembers - 1), view.getNewMembers().iterator().next()); assertEquals(members.get(0), view.getCoordinator()); for (int i = 0; i < numMembers; i++) { InternalDistributedMember mbr = members.get(i); assertEquals(mbr.getPort(), view.getFailureDetectionPort(mbr)); } assertFalse(view.shouldBeCoordinator(members.get(1))); assertTrue(view.shouldBeCoordinator(members.get(0))); assertEquals(members.get(numMembers - 1), view.getCoordinator(Collections.singletonList(members.get(0)))); members.get(numMembers - 1).getNetMember().setPreferredForCoordinator(false); assertEquals(members.get(1), view.getCoordinator(Collections.singletonList(members.get(0)))); members.get(numMembers - 1).getNetMember().setPreferredForCoordinator(true); List<InternalDistributedMember> preferred = view.getPreferredCoordinators( Collections.<InternalDistributedMember>singleton(members.get(1)), members.get(0), 2); assertEquals(2, preferred.size()); assertEquals(members.get(numMembers - 1), preferred.get(0)); }