[
https://issues.apache.org/jira/browse/IGNITE-9976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-9976:
-------------------------------------
Description:
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 - with {{PRIMARY_SYNC}} cache write synchronization mode
(default) on unstable topology we should 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}}.
was:
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 output:
{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}
With {{PRIMARY_SYNC}} cache write synchronization mode on unstable topology we
should await {{PME}} before call {{size()}}.
> [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 - with {{PRIMARY_SYNC}} cache write synchronization mode
> (default) on unstable topology we should 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)