You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Zhengqingzheng <zh...@huawei.com> on 2016/08/09 08:29:50 UTC

ignite client cannot connect problem

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

答复: ignite client cannot connect problem

Posted by Zhengqingzheng <zh...@huawei.com>.
Hi Vladislav Pyatkov,
I am still using  ignite1.5.0.final。
I will try 1.7.0

Best wishes,
Kevin

发件人: Vladislav Pyatkov [mailto:vldpyatkov@gmail.com]
发送时间: 2016年8月9日 17:22
收件人: user@ignite.apache.org
主题: 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 <zh...@huawei.com>> 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

Re: ignite client cannot connect problem

Posted by Vladislav Pyatkov <vl...@gmail.com>.
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 <zh...@huawei.com>
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