private void pingRwServer() throws RWServerFoundException { String result = null; InetSocketAddress addr = hostProvider.next(0); LOG.info("Checking server " + addr + " for being r/w." + " Timeout " + pingRwTimeout);
private void pingRwServer() throws RWServerFoundException, UnknownHostException { String result = null; InetSocketAddress addr = hostProvider.next(0); LOG.info("Checking server " + addr + " for being r/w." + " Timeout " + pingRwTimeout);
@Test public void testLiteralIPNoReverseNS() { byte size = 30; HostProvider hostProvider = getHostProviderUnresolved(size); for (int i = 0; i < size; i++) { InetSocketAddress next = hostProvider.next(0); assertThat(next, instanceOf(InetSocketAddress.class)); assertFalse(next.isUnresolved()); assertTrue(next.toString().startsWith("/")); // Do NOT trigger the reverse name service lookup. String hostname = next.getHostString(); // In this case, the hostname equals literal IP address. assertEquals(next.getAddress().getHostAddress(), hostname); } }
@Test public void testNextGoesRoundAndSleeps() { byte size = 2; HostProvider hostProvider = getHostProvider(size); while (size > 0) { hostProvider.next(0); --size; } long start = Time.currentElapsedTime(); hostProvider.next(1000); long stop = Time.currentElapsedTime(); assertTrue(900 <= stop - start); }
@Test public void testUpdateServerList_ResolvedWithResolvedAddress_NoDisconnect() throws UnknownHostException { // Arrange // Create a HostProvider with a list of unresolved server address(es) List<InetSocketAddress> addresses = Collections.singletonList( InetSocketAddress.createUnresolved("testhost-1.resolvable.zk", 1235) ); HostProvider hostProvider = new StaticHostProvider(addresses, new TestResolver()); InetSocketAddress currentHost = hostProvider.next(100); assertThat("CurrentHost is which the client is currently connecting to, it should be resolved", currentHost.isUnresolved(), is(false)); // Act InetSocketAddress replaceHost = new InetSocketAddress(InetAddress.getByAddress(currentHost.getHostString(), currentHost.getAddress().getAddress()), currentHost.getPort()); assertThat("Replace host must be resolved in this test case", replaceHost.isUnresolved(), is(false)); boolean disconnect = hostProvider.updateServerList(new ArrayList<>( Collections.singletonList(replaceHost)), currentHost ); // Assert assertThat(disconnect, equalTo(false)); }
@Test public void testUpdateServerList_ResolvedWithUnResolvedAddress_ForceDisconnect() { // Arrange // Create a HostProvider with a list of unresolved server address(es) List<InetSocketAddress> addresses = Collections.singletonList( InetSocketAddress.createUnresolved("testhost-1.resolvable.zk", 1235) ); HostProvider hostProvider = new StaticHostProvider(addresses, new TestResolver()); InetSocketAddress currentHost = hostProvider.next(100); assertThat("CurrentHost is which the client is currently connecting to, it should be resolved", currentHost.isUnresolved(), is(false)); // Act InetSocketAddress replaceHost = InetSocketAddress.createUnresolved("testhost-1.resolvable.zk", 1235); assertThat("Replace host must be unresolved in this test case", replaceHost.isUnresolved(), is(true)); boolean disconnect = hostProvider.updateServerList(new ArrayList<>( Collections.singletonList(replaceHost)), currentHost ); // Assert assertThat(disconnect, is(false)); }
@Test public void testUpdateServerList_UnResolvedWithUnResolvedAddress_ForceDisconnect() { // Arrange // Create a HostProvider with a list of unresolved server address(es) List<InetSocketAddress> addresses = Collections.singletonList( InetSocketAddress.createUnresolved("testhost-1.zookeepertest.zk", 1235) ); HostProvider hostProvider = new StaticHostProvider(addresses, new TestResolver()); InetSocketAddress currentHost = hostProvider.next(100); assertThat("CurrentHost is not resolvable in this test case", currentHost.isUnresolved(), is(true)); // Act InetSocketAddress replaceHost = InetSocketAddress.createUnresolved("testhost-1.resolvable.zk", 1235); assertThat("Replace host must be unresolved in this test case", replaceHost.isUnresolved(), is(true)); boolean disconnect = hostProvider.updateServerList(new ArrayList<>( Collections.singletonList(replaceHost)), currentHost ); // Assert assertThat(disconnect, is(true)); }
@Test public void testUpdateServerList_UnResolvedWithResolvedAddress_ForceDisconnect() throws UnknownHostException { // Arrange // Create a HostProvider with a list of unresolved server address(es) List<InetSocketAddress> addresses = Collections.singletonList( InetSocketAddress.createUnresolved("testhost-1.zookeepertest.zk", 1235) ); HostProvider hostProvider = new StaticHostProvider(addresses, new TestResolver()); InetSocketAddress currentHost = hostProvider.next(100); assertThat("CurrentHost not resolvable in this test case", currentHost.isUnresolved(), is(true)); // Act byte[] addr = new byte[] { 10, 0, 0, 1 }; InetSocketAddress replaceHost = new InetSocketAddress(InetAddress.getByAddress(currentHost.getHostString(), addr), currentHost.getPort()); assertThat("Replace host must be resolved in this test case", replaceHost.isUnresolved(), is(false)); boolean disconnect = hostProvider.updateServerList(new ArrayList<>( Collections.singletonList(replaceHost)), currentHost ); // Assert assertThat(disconnect, equalTo(false)); }
@Test public void testClientReconnect() throws IOException, InterruptedException { HostProvider hostProvider = mock(HostProvider.class); when(hostProvider.size()).thenReturn(1); InetSocketAddress inaddr = new InetSocketAddress("127.0.0.1", 1111); when(hostProvider.next(anyLong())).thenReturn(inaddr); ZooKeeper zk = mock(ZooKeeper.class); when(zk.getClientConfig()).thenReturn(new ZKClientConfig()); sc = SocketChannel.open(); ClientCnxnSocketNIO nioCnxn = new MockCnxn(); ClientWatchManager watcher = mock(ClientWatchManager.class); ClientCnxn clientCnxn = new ClientCnxn( "tmp", hostProvider, 5000, zk, watcher, nioCnxn, false); clientCnxn.start(); countDownLatch.await(5000, TimeUnit.MILLISECONDS); Assert.assertTrue(countDownLatch.getCount() == 0); clientCnxn.close(); } }
InetSocketAddress addr = hostProvider.next(0); assertTrue(newComing.contains(addr)); assertTrue(!seen.contains(addr)); InetSocketAddress addr = hostProvider.next(0); assertTrue(oldStaying.contains(addr)); assertTrue(!seen.contains(addr)); InetSocketAddress first = hostProvider.next(0); assertTrue(first != null); for (int i = 0; i < newList.size() - 1; i++) { hostProvider.next(0); assertEquals(first, hostProvider.next(0)); hostProvider.onConnected();
rwServerAddress = null; } else { serverAddress = hostProvider.next(1000);
rwServerAddress = null; } else { serverAddress = hostProvider.next(1000);
curHostForEachClient[i] = hostProviderArray[i].next(0); numClientsPerHost[curHostForEachClient[i].getPort() - 1235]++; hostProviderArray[i].onConnected(); if (disconnectRequired) curHostForEachClient[i] = hostProviderArray[i].next(0); numClientsPerHost[curHostForEachClient[i].getPort() - 1235]++; hostProviderArray[i].onConnected(); if (disconnectRequired) curHostForEachClient[i] = hostProviderArray[i].next(0); numClientsPerHost[curHostForEachClient[i].getPort() - 1235]++; hostProviderArray[i].onConnected(); if (disconnectRequired) curHostForEachClient[i] = hostProviderArray[i].next(0); numClientsPerHost[curHostForEachClient[i].getPort() - 1235]++; hostProviderArray[i].onConnected(); if (disconnectRequired) curHostForEachClient[i] = hostProviderArray[i].next(0); numClientsPerHost[curHostForEachClient[i].getPort() - 1235]++; hostProviderArray[i].onConnected();