Hi Vladislav Pyatkov, I am still using ignite1.5.0.final。 I will try 1.7.0
Best wishes, Kevin 发件人: Vladislav Pyatkov [mailto:[email protected]] 发送时间: 2016年8月9日 17:22 收件人: [email protected] 主题: Re: ignite client cannot connect problem Hello, Please clarify what version of Apache Ignite do you use? At first glance, it will not reproduce in version 1.7. On Tue, Aug 9, 2016 at 11:29 AM, Zhengqingzheng <[email protected]<mailto:[email protected]>> wrote: Hi there, When I start my ignite client, I got the following message: [15:59:04,435][ERROR][tcp-client-disco-msg-worker-#4%127.0.0.1%][TcpDiscoverySpi] Runtime error caught during grid runnable execution: IgniteSpiThread [name=tcp-client-disco-msg-worker-#4%127.0.0.1%] java.lang.AssertionError at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.updateMetrics(ClientImpl.java:2012) at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processHeartbeatMessage(ClientImpl.java:1895) at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1558) at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1477) at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) ~ And there is no more info show in the log file, any idea what’s going on ? I followed into the core code and find that this is due to an assertion check failed: /** * @param nodeId Node ID. * @param metrics Metrics. * @param cacheMetrics Cache metrics. * @param tstamp Timestamp. */ private void updateMetrics(UUID nodeId, ClusterMetrics metrics, Map<Integer, CacheMetrics> cacheMetrics, long tstamp) { assert nodeId != null; assert metrics != null; assert cacheMetrics != null; …. Which is called from private void processHeartbeatMessage(TcpDiscoveryHeartbeatMessage msg), TcpDiscoveryHeartbeatMessage should contains cacheMetrics initialization. But failed on my client side. My ignite configuration is defined as: TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(false); List<String> addrs = new ArrayList<String>(); addrs.add(IGNITE_NEW_ADDRESS); ipFinder.setAddresses(addrs); TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi(); discoverySpi.setIpFinder(ipFinder); discoverySpi.setLocalPort(ThreadLocalRandom.current().nextInt(48500, 48520 + 1)); discoverySpi.setJoinTimeout(30000); discoverySpi.setSocketTimeout(30000); igniteCCF.setDiscoverySpi(discoverySpi); TcpCommunicationSpi commSpi = new TcpCommunicationSpi(); commSpi.setSharedMemoryPort(-1); commSpi.setLocalPort(ThreadLocalRandom.current().nextInt(49530, 49550 + 1)); igniteCCF.setCommunicationSpi(commSpi); // create ignite instance ignite = Ignition.start(igniteCCF); Any configuration I should change? Or add? Best regards, Kevin -- Vladislav Pyatkov
