/** * @param ctx Kernal context. */ public ClusterProcessor(GridKernalContext ctx) { super(ctx); notifyEnabled.set(IgniteSystemProperties.getBoolean(IGNITE_UPDATE_NOTIFIER, true)); cluster = new IgniteClusterImpl(ctx); sndMetrics = !(ctx.config().getDiscoverySpi() instanceof TcpDiscoverySpi); }
/** @return {@code True} if ordering is supported. */ private boolean discoOrdered() { DiscoverySpiOrderSupport ann = U.getAnnotation(ctx.config().getDiscoverySpi().getClass(), DiscoverySpiOrderSupport.class); return ann != null && ann.value(); }
/** * @param ignite Node. * @return Discovery SPI. */ protected static IgniteDiscoverySpi spi0(Ignite ignite) { return ((IgniteDiscoverySpi)ignite.configuration().getDiscoverySpi()); }
/** * @param ig Ignite. */ private TcpDiscoverySpi spi(Ignite ig) { return (TcpDiscoverySpi)ig.configuration().getDiscoverySpi(); }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); cfg.setClientFailureDetectionTimeout(CLIENT_FAILURE_DETECTION_TIMEOUT); if (cfg.getDiscoverySpi() instanceof TcpDiscoverySpi) ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setClientReconnectDisabled(false); return cfg; }
@Override public Object call() throws Exception { pingLatch.await(); Thread.sleep(3000); ((TestTcpDiscoverySpi)failedNode.configuration().getDiscoverySpi()).simulateNodeFailure(); return null; } }, 1);
@Override public void run() { try { latch.await(); IgniteConfiguration cfg = node0.configuration(); ((TestCommunicationSpi)cfg.getCommunicationSpi()).block(); ((IgniteDiscoverySpi)cfg.getDiscoverySpi()).simulateNodeFailure(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } }, 1);
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setForceServerMode(true); return cfg; }
/** * @param node Node. * @return Corresponding znode. */ static String aliveZkNodePath(Ignite node) { return aliveZkNodePath(node.configuration().getDiscoverySpi()); }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); if (isFirstGrid(igniteInstanceName)) { cfg.setClientMode(true); assert cfg.getDiscoverySpi() instanceof TcpDiscoverySpi; ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setForceServerMode(true); } cfg.setCacheConfiguration(getCacheConfiguration()); return cfg; }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); if (igniteInstanceName.endsWith("2")) cfg.setFailureHandler(new TestFailureHandler()); // Disable recovery ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setConnectionRecoveryTimeout(0); return cfg; }
/** * @param idx Index. */ private void failServer(int idx) { ((TcpDiscoverySpi)G.ignite("server-" + idx).configuration().getDiscoverySpi()).simulateNodeFailure(); }
/** * @param idx Index. */ private void failClient(int idx) { ((TcpDiscoverySpi)G.ignite("client-" + idx).configuration().getDiscoverySpi()).simulateNodeFailure(); }
/** * @param ignite Ignite. * @throws Exception In case of error. */ private void failNode(Ignite ignite) throws Exception { DiscoverySpi disco = ignite.configuration().getDiscoverySpi(); U.invoke(disco.getClass(), disco, "simulateNodeFailure"); CommunicationSpi comm = ignite.configuration().getCommunicationSpi(); U.invoke(comm.getClass(), comm, "simulateNodeFailure"); } }
/** * @param client Client. */ private void suspendClientMetricsUpdate(Ignite client) { assert client.cluster().localNode().isClient(); ClientImpl impl = U.field(client.configuration().getDiscoverySpi(), "impl"); Timer timer = U.field(impl, "timer"); timer.cancel(); System.out.println("Metrics update message suspended"); } }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(gridName); ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(new TcpDiscoveryMulticastIpFinder()); cfg.setNetworkTimeout(500); cfg.setCommunicationSpi(new TcpCommunicationSpi(gridName.contains("block"))); if (gridName.contains("client")) { cfg.setClientMode(true); } return cfg; }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); cfg.setMarshaller(new BinaryMarshaller()); if (igniteInstanceName.equals(getTestIgniteInstanceName(2))) { cfg.setClientMode(true); ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setForceServerMode(true); } return cfg; }
/** {@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; }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(gridName); cfg.setFailureDetectionTimeout(1000); cfg.setClientMode(clientMode); TestCommunicationSpi spi = new TestCommunicationSpi(); spi.setIdleConnectionTimeout(100); spi.setSharedMemoryPort(-1); ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setClientReconnectDisabled(true); cfg.setCommunicationSpi(spi); return cfg; }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); cfg.setCommunicationSpi(new TestRecordingCommunicationSpi()); cfg.setDiscoverySpi(new TestDiscoverySpi().setIpFinder(IP_FINDER)); if (startClient) { cfg.setClientMode(true); // It is necessary to ensure that client always connects to grid(0). ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(CLIENT_IP_FINDER); } return cfg; }