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

Reply via email to