You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksandr Polovtcev (Jira)" <ji...@apache.org> on 2023/04/04 08:02:00 UTC

[jira] [Assigned] (IGNITE-19179) ItClusterManagerTest#testNodeRestart start to fail after LogicalNode introducing

     [ https://issues.apache.org/jira/browse/IGNITE-19179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksandr Polovtcev reassigned IGNITE-19179:
--------------------------------------------

    Assignee: Aleksandr Polovtcev

> ItClusterManagerTest#testNodeRestart start to fail after LogicalNode introducing
> --------------------------------------------------------------------------------
>
>                 Key: IGNITE-19179
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19179
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Mirza Aliev
>            Assignee: Aleksandr Polovtcev
>            Priority: Major
>              Labels: ignite-3
>
> While https://issues.apache.org/jira/browse/IGNITE-18953 was implementing, {{ItClusterManagerTest#testNodeRestart}} started to fail periodically.
>  
> {noformat}
> java.lang.AssertionError: 
> Expected: is iterable with items [<ClusterNode [id=ac994fa6-d2d3-42e4-a247-fc437792b617, name=icmt_tnr_10000, address=127.0.0.1:10000, nodeMetadata=null]>, <ClusterNode [id=622f46cb-3f34-4aa7-8332-ce0aa90980e8, name=icmt_tnr_10001, address=127.0.0.1:10001, nodeMetadata=null]>] in any order
>      but: was <[ClusterNode [id=ac994fa6-d2d3-42e4-a247-fc437792b617, name=icmt_tnr_10000, address=127.0.0.1:10000, nodeMetadata=null]]>
> Expected :is iterable with items [<ClusterNode [id=ac994fa6-d2d3-42e4-a247-fc437792b617, name=icmt_tnr_10000, address=127.0.0.1:10000, nodeMetadata=null]>, <ClusterNode [id=622f46cb-3f34-4aa7-8332-ce0aa90980e8, name=icmt_tnr_10001, address=127.0.0.1:10001, nod ...Actual   :<[ClusterNode [id=ac994fa6-d2d3-42e4-a247-fc437792b617, name=icmt_tnr_10000, address=127.0.0.1:10000, nodeMetadata=null]]>
> <Click to see difference>
>     at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
>     at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
>     at org.apache.ignite.internal.cluster.management.ItClusterManagerTest.testNodeRestart(ItClusterManagerTest.java:174)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>     at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
>     at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
>     at 
> {noformat}
>  
> From the log with additional debug logging we can see, that after we call {{waitForLogicalTopology()}} we still write some new topology to {{{}LogicalTopologyImpl#storage{}}}, moreover we write topology that contains only learner node, or even empty topology, which is definitely wrong. Seems that there is some race and topology in {{waitForLogicalTopology()}} is not a final topology after restart, so after that assertion fails, because topology snapshot changes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)