/** * @param clientIdx Client index. * @param srvIdx Server index. * @throws Exception In case of error. */ private void setClientRouter(int clientIdx, int srvIdx) throws Exception { TcpDiscoverySpi disco = (TcpDiscoverySpi)G.ignite("client-" + clientIdx).configuration().getDiscoverySpi(); TcpDiscoveryVmIpFinder ipFinder = (TcpDiscoveryVmIpFinder)disco.getIpFinder(); String addr = new ArrayList<>(IP_FINDER.getRegisteredAddresses()).get(srvIdx).toString(); if (addr.startsWith("/")) addr = addr.substring(1); ipFinder.setAddresses(Collections.singletonList(addr)); }
TcpDiscoveryIpFinder finder = tcp.getIpFinder();
/** * Remove one random node. */ public void failNode() { if (srvs.isEmpty()) throw new IllegalStateException("Cannot remove node from empty cluster"); Ignite srv = srvs.get(rnd.nextInt(srvs.size())); IgniteConfiguration cfg = srv.configuration(); NodeConfiguration nodeCfg = new NodeConfiguration( ((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder().getRegisteredAddresses().iterator().next().getPort(), Objects.requireNonNull(cfg.getClientConnectorConfiguration()).getPort() ); srv.close(); srvs.remove(srv); failedCfgs.add(nodeCfg); }
TcpDiscoveryIpFinder finder = tcp.getIpFinder();
/** {@inheritDoc} */ @Override protected IgniteConfiguration commonConfiguration(int idx) throws Exception { IgniteConfiguration cfg = super.commonConfiguration(idx); TestTcpDiscoverySpi testSpi = new TestTcpDiscoverySpi(); if (cfg.getDiscoverySpi() instanceof TcpDiscoverySpi && ((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder() != null) testSpi.setIpFinder(((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder()); return cfg.setDiscoverySpi(testSpi); }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { Collection<String> hostNames = Arrays.asList("h_1", "h_2", "h_3"); IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); TcpDiscoverySpi disco = (TcpDiscoverySpi)cfg.getDiscoverySpi(); cfg.setDiscoverySpi(new CustomHostsTcpDiscoverySpi(hostNames).setIpFinder(disco.getIpFinder())); return cfg; }
/** * @param ignite Ignite. * @param client Expected client mode flag. */ private void assertSpi(Ignite ignite, boolean client) { DiscoverySpi spi = ignite.configuration().getDiscoverySpi(); assertSame(TcpDiscoverySpi.class, spi.getClass()); TcpDiscoverySpi spi0 = (TcpDiscoverySpi)spi; assertSame(TcpDiscoveryMulticastIpFinder.class, spi0.getIpFinder().getClass()); assertEquals(client, spi0.isClientMode()); Collection<Object> addrSnds = GridTestUtils.getFieldValue(spi0.getIpFinder(), "addrSnds"); assertEquals(client, F.isEmpty(addrSnds)); } }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(gridName); if (gridName.contains("client")) { Map<String, String> attrs = new HashMap<>(); attrs.put("test", "1"); cfg.setUserAttributes(attrs); cfg.setClientMode(true); } IgniteClientReconnectAbstractTest.TestTcpDiscoverySpi spi = new IgniteClientReconnectAbstractTest.TestTcpDiscoverySpi(); TcpDiscoveryIpFinder finder = ((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder(); spi.setIpFinder(finder); cfg.setDiscoverySpi(spi); return cfg; }
TcpDiscoveryIpFinder ipFinder = ((TcpDiscoverySpi)spi).getIpFinder();
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(final String gridName) throws Exception { final IgniteConfiguration cfg = super.getConfiguration(gridName); cfg.setClientMode(gridName.contains("client")); if (gridName.contains("ssl")) cfg.setSslContextFactory(GridTestUtils.sslFactory()); if (spi != null) { final TcpDiscoveryIpFinder finder = ((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder(); spi.setIpFinder(finder); cfg.setDiscoverySpi(spi); } return cfg; }
/** */ private static IgniteConfiguration getConfiguration(NodeConfiguration nodeCfg) { IgniteConfiguration igniteCfg = Config.getServerConfiguration(); ((TcpDiscoverySpi)igniteCfg.getDiscoverySpi()).getIpFinder().registerAddresses( Collections.singletonList(new InetSocketAddress(HOST, nodeCfg.getDiscoveryPort())) ); igniteCfg.setClientConnectorConfiguration(new ClientConnectorConfiguration() .setHost(HOST) .setPort(nodeCfg.getClientPort()) ); return igniteCfg; }
TcpDiscoverySpi spi = (TcpDiscoverySpi)grid(i).configuration().getDiscoverySpi(); TcpDiscoveryZookeeperIpFinder zkIpFinder = (TcpDiscoveryZookeeperIpFinder)spi.getIpFinder();
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); TcpDiscoverySpi discoSpi = new BlockingTcpDiscoverySpi(); discoSpi.setIpFinder(((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder()); cfg.setDiscoverySpi(discoSpi); cfg.setCommunicationSpi(new BlockingTcpCommunicationSpi()); return cfg; }
TcpDiscoverySpi tcpDisco = (TcpDiscoverySpi)cfg.getDiscoverySpi(); if (tcpDisco.getIpFinder() == null) tcpDisco.setIpFinder(new TcpDiscoveryMulticastIpFinder());
/** * @throws Exception If any error occurs. */ @Test public void testMulticastIpFinder() throws Exception { try { for (int i = 0; i < 5; i++) { Ignite g = startGrid("MulticastIpFinder-" + i); assertEquals(i + 1, g.cluster().nodes().size()); TcpDiscoverySpi spi = (TcpDiscoverySpi)g.configuration().getDiscoverySpi(); TcpDiscoveryMulticastIpFinder ipFinder = (TcpDiscoveryMulticastIpFinder)spi.getIpFinder(); boolean found = false; for (GridPortRecord rec : ((IgniteKernal) g).context().ports().records()) { if ((rec.protocol() == UDP) && rec.port() == ipFinder.getMulticastPort()) { found = true; break; } } assertTrue("TcpDiscoveryMulticastIpFinder should register port." , found); } } finally { stopAllGrids(); } }
TcpDiscoverySpi tcpDisco = (TcpDiscoverySpi)cfg.getDiscoverySpi(); if (tcpDisco.getIpFinder() == null) tcpDisco.setIpFinder(new TcpDiscoveryMulticastIpFinder());