[
https://issues.apache.org/jira/browse/IGNITE-9976?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16671260#comment-16671260
]
Sergey Chugunov commented on IGNITE-9976:
-----------------------------------------
[~xtern],
Change looks good to me, it makes the test more stable and eliminates the root
cause of some flaky failures its previous implementation suffered from.
In a nutshell, prev impl relied on threads interruption when exiting the test
but some threads may be sitting in stopGrid method at the moment of
interruption. Our test framework treat interruption inside this method as an
error during the test and fails it.
So as it is fixed in new implementation and we have an approval from the bot,
we could proceed with merging.
[~dpavlov], could you please take a look?
> [Test Failed] BinaryMetadataUpdatesFlowTest.testFlowNoConflicts flaky fails
> on TC.
> ----------------------------------------------------------------------------------
>
> Key: IGNITE-9976
> URL: https://issues.apache.org/jira/browse/IGNITE-9976
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 2.6
> Reporter: Pavel Pereslegin
> Assignee: Pavel Pereslegin
> Priority: Minor
> Labels: MakeTeamcityGreenAgain
> Fix For: 2.8
>
>
> Test {{BinaryMetadataUpdatesFlowTest.testFlowNoConflicts}} fails sometimes on
> master branch.
> Example of recent failure:
> https://ci.ignite.apache.org/viewLog.html?buildId=2136137&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_BinaryObjects#testNameId-3561618975502992496
> Typical failure 1:
> {noformat}
> [2018-10-20 16:26:55,321][ERROR][main][root] Test failed.
> junit.framework.AssertionFailedError: There are less than expected entries,
> data loss occurred; expected:<5000> but was:<4108>
> at junit.framework.Assert.fail(Assert.java:57)
> at junit.framework.Assert.failNotEquals(Assert.java:329)
> at junit.framework.Assert.assertEquals(Assert.java:78)
> at junit.framework.Assert.assertEquals(Assert.java:234)
> at junit.framework.TestCase.assertEquals(TestCase.java:401)
> at
> org.apache.ignite.internal.processors.cache.binary.BinaryMetadataUpdatesFlowTest.testFlowNoConflicts(BinaryMetadataUpdatesFlowTest.java:309)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at junit.framework.TestCase.runTest(TestCase.java:176)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2176)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:142)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:2091)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
> Suggested solution - await {{PME}} before call {{IgniteCache#size()}}.
> Typical failure 2:
> {noformat}
> java.lang.AssertionError: Error occurred on grid stop (see log for more
> details).
> ...
> [ERROR][node-killer-thread][root] Failed to stop grid
> [igniteInstanceName=binary.BinaryMetadataUpdatesFlowTest2, cancel=false]
> class org.apache.ignite.internal.IgniteInterruptedCheckedException: sleep
> interrupted
> at
> org.apache.ignite.internal.util.IgniteUtils.sleep(IgniteUtils.java:7783)
> at
> org.apache.ignite.testframework.GridTestUtils.waitForCondition(GridTestUtils.java:1737)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.awaitTopologyChange(GridAbstractTest.java:2325)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.stopGrid(GridAbstractTest.java:1187)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.stopGrid(GridAbstractTest.java:1162)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.stopGrid(GridAbstractTest.java:1462)
> at
> org.apache.ignite.internal.processors.cache.binary.BinaryMetadataUpdatesFlowTest.access$900(BinaryMetadataUpdatesFlowTest.java:65)
> at
> org.apache.ignite.internal.processors.cache.binary.BinaryMetadataUpdatesFlowTest$ServerNodeKiller.run(BinaryMetadataUpdatesFlowTest.java:444)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.InterruptedException: sleep interrupted
> at java.lang.Thread.sleep(Native Method)
> at
> org.apache.ignite.internal.util.IgniteUtils.sleep(IgniteUtils.java:7778)
> ... 8 more
> {noformat}
> Suggested solution - in test framework don't interrupt thread from which we
> call the {{stopGrid}}.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)