JanusGraph / JanusGraph/janusgraph
Flaky CQL test: testReindexingForEdgeIndex
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
## Flaky Test
* **Test Name:** CQLGraphTest>JanusGraphTest.testReindexingForEdgeIndex
* **Link:** https://github.com/JanusGraph/janusgraph/blob/0b000d8d691e309c11c6a1e4a2382b79fdef0526/janusgraph-backend-testutils/src/main/java/org/janusgraph/graphdb/JanusGraphTest.java#L7133
* **Branch:** master (PR was: #3136)
* **Notes:** Job was: `tests (cql, -Pcassandra3-murmur -Dtest="**/graphdb/cql/*", murmur-graphdb, 8) `
### Stack Trace
The error is:
```
java.lang.IllegalArgumentException: Update action [ENABLE_INDEX] cannot be invoked for index with status [INSTALLED]
```
and there are several stack traces like this one logged just before:
```
org.janusgraph.core.JanusGraphException: Could not commit transaction due to exception during persistence
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1538)
at org.janusgraph.graphdb.JanusGraphTest$4.run(JanusGraphTest.java:3192)
Caused by: org.janusgraph.diskstorage.locking.PermanentLockingException: Local lock contention
at org.janusgraph.diskstorage.locking.AbstractLocker.writeLock(AbstractLocker.java:324)
at org.janusgraph.diskstorage.locking.consistentkey.ExpectedValueCheckingStore.acquireLock(ExpectedValueCheckingStore.java:102)
at org.janusgraph.diskstorage.keycolumnvalue.KCVSProxy.acquireLock(KCVSProxy.java:52)
at org.janusgraph.diskstorage.BackendTransaction.acquireIndexLock(BackendTransaction.java:258)
at org.janusgraph.graphdb.database.StandardJanusGraph.prepareCommit(StandardJanusGraph.java:636)
at org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:776)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1527)
... 1 more
org.janusgraph.core.JanusGraphException: Could not commit transaction due to exception during persistence
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1538)
at org.janusgraph.graphdb.JanusGraphTest$4.run(JanusGraphTest.java:3192)
Caused by: org.janusgraph.diskstorage.locking.PermanentLockingException: Local lock contention
at org.janusgraph.diskstorage.locking.AbstractLocker.writeLock(AbstractLocker.java:324)
at org.janusgraph.diskstorage.locking.consistentkey.ExpectedValueCheckingStore.acquireLock(ExpectedValueCheckingStore.java:102)
at org.janusgraph.diskstorage.keycolumnvalue.KCVSProxy.acquireLock(KCVSProxy.java:52)
at org.janusgraph.diskstorage.BackendTransaction.acquireIndexLock(BackendTransaction.java:258)
at org.janusgraph.graphdb.database.StandardJanusGraph.prepareCommit(StandardJanusGraph.java:636)
at org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:776)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1527)
... 1 more
```
Contributor guide
Research direction
Start with JanusGraphTest.java at the testReindexingForEdgeIndex location around line 7133 and run the CQL job command from the report. Trace the reported lock contention through StandardJanusGraph.prepareCommit and the ENABLE_INDEX failure. Done means the test no longer flakes in the reported CQL configuration and its failure condition is covered by a reproducible test run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cassandra, java
- Domain
- databases, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100