Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flaky TinkerPop test g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path #3841

Open
porunov opened this issue Jun 16, 2023 · 1 comment

Comments

@porunov
Copy link
Member

porunov commented Jun 16, 2023

Flaky Test

  • Test Name: org.apache.tinkerpop.gremlin.process.traversal.step.filter.WhereTest$Traversals Error: org.apache.tinkerpop.gremlin.process.traversal.step.filter.WhereTest$Traversals.g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path
  • Branch: master
  • Notes: I often see this test failing for quite some time now. It was happening even before we updated to TinkerPop 3.6.4. It also happens with any storage backend (I have seen it was failing for inmemory, hbase, cassandra, berkeleyje storage backends). For example, tp-tests (inmemory, -Pjava-11, -Dtest.skip.tp=false -DskipTests=true, 11) job sometimes fails because of that.

Stack Trace 1

Tests run: 24, Failures: 0, Errors: 1, Skipped: 9, Time elapsed: 28.534 s <<< FAILURE! - in org.apache.tinkerpop.gremlin.process.traversal.step.filter.WhereTest$Traversals
Error:  org.apache.tinkerpop.gremlin.process.traversal.step.filter.WhereTest$Traversals.g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path  Time elapsed: 1.145 s  <<< ERROR!
java.lang.IllegalStateException: org.janusgraph.core.JanusGraphException: Exception in JanusGraph
	at org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep.processNextStart(VertexProgramStep.java:88)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:55)
	at org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.ComputerResultStep.processNextStart(ComputerResultStep.java:68)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:135)
	at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:40)
	at org.apache.tinkerpop.gremlin.process.traversal.Traversal.fill(Traversal.java:184)
	at org.apache.tinkerpop.gremlin.process.traversal.Traversal.toList(Traversal.java:122)
	at org.apache.tinkerpop.gremlin.process.traversal.step.filter.WhereTest.g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path(WhereTest.java:299)
	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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.apache.tinkerpop.gremlin.process.GremlinProcessRunner.runChild(GremlinProcessRunner.java:53)
	at org.apache.tinkerpop.gremlin.process.GremlinProcessRunner.runChild(GremlinProcessRunner.java:37)
	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.apache.tinkerpop.gremlin.AbstractGremlinSuite.runChild(AbstractGremlinSuite.java:226)
	at org.apache.tinkerpop.gremlin.AbstractGremlinSuite.runChild(AbstractGremlinSuite.java:51)
	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.apache.tinkerpop.gremlin.AbstractGremlinSuite$1.evaluate(AbstractGremlinSuite.java:235)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
	at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
	at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:[102](https://github.com/JanusGraph/janusgraph/actions/runs/5293275751/jobs/9581234812?pr=3825#step:6:103))
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:[114](https://github.com/JanusGraph/janusgraph/actions/runs/5293275751/jobs/9581234812?pr=3825#step:6:115))
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:50)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:184)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:148)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:[120](https://github.com/JanusGraph/janusgraph/actions/runs/5293275751/jobs/9581234812?pr=3825#step:6:121))
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:[162](https://github.com/JanusGraph/janusgraph/actions/runs/5293275751/jobs/9581234812?pr=3825#step:6:163))
	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
Caused by: java.util.concurrent.ExecutionException: org.janusgraph.core.JanusGraphException: Exception in JanusGraph
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
	at org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep.processNextStart(VertexProgramStep.java:68)
	... 62 more
Caused by: org.janusgraph.core.JanusGraphException: Exception in JanusGraph
	at org.janusgraph.graphdb.olap.computer.FulgoraGraphComputer.executeIterationOfJob(FulgoraGraphComputer.java:240)
	at org.janusgraph.graphdb.olap.computer.FulgoraGraphComputer.executeVertexProgram(FulgoraGraphComputer.java:217)
	at org.janusgraph.graphdb.olap.computer.FulgoraGraphComputer.submitAsync(FulgoraGraphComputer.java:196)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:[170](https://github.com/JanusGraph/janusgraph/actions/runs/5293275751/jobs/9581234812?pr=3825#step:6:171)0)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.janusgraph.core.JanusGraphException: Failed to process [1] vertices in vertex program iteration [5]. Computer is aborting.
	at org.janusgraph.graphdb.olap.computer.FulgoraGraphComputer.executeOnNonPartitionedVertices(FulgoraGraphComputer.java:271)
	at org.janusgraph.graphdb.olap.computer.FulgoraGraphComputer.executeIterationOfJob(FulgoraGraphComputer.java:236)
	... 4 more

Stack Trace 2

Error:  Errors: 
Error:  org.apache.tinkerpop.gremlin.process.traversal.step.filter.WhereTest$Traversals.g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path
Error:    Run 1: WhereTest$Traversals>WhereTest.g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path:299 » IllegalState org.janusgraph.core.JanusGraphException: Exception in JanusGraph
[INFO]   Run 2: PASS
[INFO]   Run 3: PASS
[INFO] 
[INFO] 
Error:  Tests run: 3408, Failures: 0, Errors: 1, Skipped: 296
@FlorianHockmann
Copy link
Member

Do we have any way to use the RepeatedIfExceptionsTest for TinkerPop tests?

FlorianHockmann added a commit to GDATASoftwareAG/janusgraph that referenced this issue Sep 7, 2023
This adds the necessary annotation to repeat flaky tests if necessary
for tests described in these issues:
* JanusGraph#1457
* JanusGraph#1459
* JanusGraph#1462
* JanusGraph#1464
* JanusGraph#1465
* JanusGraph#1497
* JanusGraph#1498
* JanusGraph#2272
* JanusGraph#3142
* JanusGraph#3356
* JanusGraph#3392
* JanusGraph#3393
* JanusGraph#3651
* JanusGraph#3931
* JanusGraph#3959
* JanusGraph#3960

I went through the recent builds on `master` and checked all failed
builds. I think this should handle all flaky tests that occurred in
these builds, apart from the TinkerPop test where I just don't know how
to deal with it: JanusGraph#3841, but we can of course just address that in
another PR.
We however also sometimes get failed jobs because of some intermediate
issues where a backend cannot be properly set up or teared down for some
reason or downloading some artifact just fails. I don't know what we can
do to improve this, but I would also consider that out of scope of this
PR where I just wanted to deal with failing jobs due to specific tests
being flaky.

Hopefully, this will already lead to significantly fewer cases where we
have to manually restart failed jobs (which I had to do a lot lately for
all these Dependabot PRs).

Signed-off-by: Florian Hockmann <fh@florian-hockmann.de>
FlorianHockmann added a commit to GDATASoftwareAG/janusgraph that referenced this issue Sep 13, 2023
This adds the necessary annotation to repeat flaky tests if necessary
for tests described in these issues:
* JanusGraph#1457
* JanusGraph#1459
* JanusGraph#1462
* JanusGraph#1464
* JanusGraph#1465
* JanusGraph#1497
* JanusGraph#1498
* JanusGraph#2272
* JanusGraph#3142
* JanusGraph#3356
* JanusGraph#3392
* JanusGraph#3393
* JanusGraph#3651
* JanusGraph#3931
* JanusGraph#3959
* JanusGraph#3960

I went through the recent builds on `master` and checked all failed
builds. I think this should handle all flaky tests that occurred in
these builds, apart from the TinkerPop test where I just don't know how
to deal with it: JanusGraph#3841, but we can of course just address that in
another PR.
We however also sometimes get failed jobs because of some intermediate
issues where a backend cannot be properly set up or teared down for some
reason or downloading some artifact just fails. I don't know what we can
do to improve this, but I would also consider that out of scope of this
PR where I just wanted to deal with failing jobs due to specific tests
being flaky.

Hopefully, this will already lead to significantly fewer cases where we
have to manually restart failed jobs (which I had to do a lot lately for
all these Dependabot PRs).

I also added a link to the relevant issue to all flaky tests.

Signed-off-by: Florian Hockmann <fh@florian-hockmann.de>
FlorianHockmann added a commit that referenced this issue Sep 14, 2023
This adds the necessary annotation to repeat flaky tests if necessary
for tests described in these issues:
* #1457
* #1459
* #1462
* #1464
* #1465
* #1497
* #1498
* #2272
* #3142
* #3356
* #3392
* #3393
* #3651
* #3931
* #3959
* #3960

I went through the recent builds on `master` and checked all failed
builds. I think this should handle all flaky tests that occurred in
these builds, apart from the TinkerPop test where I just don't know how
to deal with it: #3841, but we can of course just address that in
another PR.
We however also sometimes get failed jobs because of some intermediate
issues where a backend cannot be properly set up or teared down for some
reason or downloading some artifact just fails. I don't know what we can
do to improve this, but I would also consider that out of scope of this
PR where I just wanted to deal with failing jobs due to specific tests
being flaky.

Hopefully, this will already lead to significantly fewer cases where we
have to manually restart failed jobs (which I had to do a lot lately for
all these Dependabot PRs).

I also added a link to the relevant issue to all flaky tests.

Signed-off-by: Florian Hockmann <fh@florian-hockmann.de>
FlorianHockmann added a commit to FlorianHockmann/janusgraph that referenced this issue Sep 14, 2023
This adds the necessary annotation to repeat flaky tests if necessary
for tests described in these issues:
* JanusGraph#1457
* JanusGraph#1459
* JanusGraph#1462
* JanusGraph#1464
* JanusGraph#1465
* JanusGraph#1497
* JanusGraph#1498
* JanusGraph#2272
* JanusGraph#3142
* JanusGraph#3356
* JanusGraph#3392
* JanusGraph#3393
* JanusGraph#3651
* JanusGraph#3931
* JanusGraph#3959
* JanusGraph#3960

I went through the recent builds on `master` and checked all failed
builds. I think this should handle all flaky tests that occurred in
these builds, apart from the TinkerPop test where I just don't know how
to deal with it: JanusGraph#3841, but we can of course just address that in
another PR.
We however also sometimes get failed jobs because of some intermediate
issues where a backend cannot be properly set up or teared down for some
reason or downloading some artifact just fails. I don't know what we can
do to improve this, but I would also consider that out of scope of this
PR where I just wanted to deal with failing jobs due to specific tests
being flaky.

Hopefully, this will already lead to significantly fewer cases where we
have to manually restart failed jobs (which I had to do a lot lately for
all these Dependabot PRs).

I also added a link to the relevant issue to all flaky tests.

Signed-off-by: Florian Hockmann <fh@florian-hockmann.de>
(cherry picked from commit 2ba933c)

# Conflicts:
#	janusgraph-cql/src/test/java/org/janusgraph/graphdb/cql/CQLGraphTest.java
#	janusgraph-solr/src/test/java/org/janusgraph/diskstorage/solr/CQLSolrTest.java
#	janusgraph-test/src/test/java/org/janusgraph/diskstorage/cache/ExpirationCacheTest.java
FlorianHockmann added a commit that referenced this issue Sep 14, 2023
This adds the necessary annotation to repeat flaky tests if necessary
for tests described in these issues:
* #1457
* #1459
* #1462
* #1464
* #1465
* #1497
* #1498
* #2272
* #3142
* #3356
* #3392
* #3393
* #3651
* #3931
* #3959
* #3960

I went through the recent builds on `master` and checked all failed
builds. I think this should handle all flaky tests that occurred in
these builds, apart from the TinkerPop test where I just don't know how
to deal with it: #3841, but we can of course just address that in
another PR.
We however also sometimes get failed jobs because of some intermediate
issues where a backend cannot be properly set up or teared down for some
reason or downloading some artifact just fails. I don't know what we can
do to improve this, but I would also consider that out of scope of this
PR where I just wanted to deal with failing jobs due to specific tests
being flaky.

Hopefully, this will already lead to significantly fewer cases where we
have to manually restart failed jobs (which I had to do a lot lately for
all these Dependabot PRs).

I also added a link to the relevant issue to all flaky tests.

Signed-off-by: Florian Hockmann <fh@florian-hockmann.de>
(cherry picked from commit 2ba933c)

# Conflicts:
#	janusgraph-cql/src/test/java/org/janusgraph/graphdb/cql/CQLGraphTest.java
#	janusgraph-solr/src/test/java/org/janusgraph/diskstorage/solr/CQLSolrTest.java
#	janusgraph-test/src/test/java/org/janusgraph/diskstorage/cache/ExpirationCacheTest.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants