Yichen created OAK-10010:
----------------------------
Summary: Test
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.addRemoveSet
is Flaky
Key: OAK-10010
URL: https://issues.apache.org/jira/browse/OAK-10010
Project: Jackrabbit Oak
Issue Type: Bug
Components: test
Reporter: Yichen
Attachments:
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.txt
{code:java}
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.addRemoveSet
{code}
This is a flaky test, it can pass mvn test while but when run using the tool
[NonDex|https://github.com/TestingResearchIllinois/NonDex], it fails. NonDex is
a tool that will introduce non-determinism in certain java collections.The test
shows below:
{code:java}
[INFO] Running org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.615 s
<<< FAILURE! - in
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest
[ERROR]
addRemoveSet(org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest)
Time elapsed: 1.601 s <<< ERROR!
java.lang.Exception:
log: 0: [1] + "t8": { "x": 3}
0: [1] -> r184a581b34a-0-1,r184a581b37b-0-2
0: [1] get t8 at
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.addRemoveSet(RandomizedClusterTest.java:240)
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.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at
org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
at
org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:158)
at
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
at
org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Caused by: org.junit.ComparisonFailure:
expected:<{"[:childNodeCount":0,"x":3]}> but was:<{"[x":3,":childNodeCount":0]}>
at org.junit.Assert.assertEquals(Assert.java:117)
at org.junit.Assert.assertEquals(Assert.java:146)
at
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.get(RandomizedClusterTest.java:330)
at
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.get(RandomizedClusterTest.java:303)
at
org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest.addRemoveSet(RandomizedClusterTest.java:220)
... 40 more[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] RandomizedClusterTest.addRemoveSet:240 log: 0: [1] + "t8": { "x": 3}
0: [1] ...
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 {code}
*Steps to reproduce the failure:*
Run the following command in oak:
First, build the module:
{code:java}
mvn install -pl oak-store-document -am -DskipTests{code}
Then run the test using NonDex
{code:java}
mvn -pl oak-store-document edu.illinois:nondex-maven-plugin:2.1:nondex
-Dtest=org.apache.jackrabbit.oak.plugins.document.RandomizedClusterTest#addRemoveSet{code}
The result will be saved under the module folder in .nondex
--
This message was sent by Atlassian Jira
(v8.20.10#820010)