JanusGraph / JanusGraph/janusgraph

Flaky CQL test: testReindexingForEdgeIndex

Open
#3,142 1 comment 0 reactions 0 assignees View on GitHub
storage/cassandra testing/flaky
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.