You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Valentin Kulichenko (JIRA)" <ji...@apache.org> on 2016/10/26 21:14:58 UTC
[jira] [Created] (IGNITE-4142) Assertion in
ClientImpl.updateMetrics()
Valentin Kulichenko created IGNITE-4142:
-------------------------------------------
Summary: Assertion in ClientImpl.updateMetrics()
Key: IGNITE-4142
URL: https://issues.apache.org/jira/browse/IGNITE-4142
Project: Ignite
Issue Type: Bug
Components: general
Affects Versions: 1.7
Reporter: Valentin Kulichenko
Priority: Critical
Fix For: 1.8
The problem was reported here: http://apache-ignite-users.70518.x6.nabble.com/AssertionError-td8321.html
It looks like the reason is that {{TcpDiscoveryHeartbeatMessage.setCacheMetrics()}} method does not put empty map in the {{cacheMetrics}} collection. As a result, it's possible that there cluster metrics for a node, but no metrics for this node - this leads to the assertion in {{ClientImpl.updateMetrics}} (see below). We should remove the {{if}} in {{TcpDiscoveryHeartbeatMessage.setCacheMetrics()}} or change {{ClientImpl.updateMetrics}} logic so that it does not fail in this case.
We should also try to reproduce in a unit test to make sure this the only problematic code here.
{noformat}
10:39:38,355 SEVERE [TcpDiscoverySpi] Runtime error caught during grid runnable execution: IgniteSpiThread [name=tcp-client-disco-msg-worker-#4%FooGrid%]: java.lang.AssertionError
at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.updateMetrics(ClientImpl.java:2046)
at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processHeartbeatMessage(ClientImpl.java:1926)
at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1580)
at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1499)
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)