Hi,
Currently trying to figure out the following ConcurrentModificationException exception that occurs when I call the toList (Gremlin Scala) method on a traversal.
It doesn't happen all the time, but quite often on different graphs.
I'm processing different TinkerGraph graphs concurrently using Futures (in scala).
Using tinkerpop version 3.1.0-incubating
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
at org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper.hasStepOfAssignableClassRecursively(TraversalHelper.java:283)
at org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IncidentToAdjacentStrategy.apply(IncidentToAdjacentStrategy.java:75)
at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversalStrategies.applyStrategies(DefaultTraversalStrategies.java:77)
at org.apache.tinkerpop.gremlin.process.traversal.lambda.AbstractLambdaTraversal.applyStrategies(AbstractLambdaTraversal.java:72)
at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.applyStrategies(DefaultTraversal.java:96)
at org.apache.tinkerpop.gremlin.process.traversal.Traversal.fill(Traversal.java:141)
at org.apache.tinkerpop.gremlin.process.traversal.Traversal.toList(Traversal.java:102)
at gremlin.scala.GremlinScala.toList(GremlinScala.scala:26)
<removed>
I have the following traversal:
g.V
.hasLabel("Variable").as("v")
.in(Label.Def)
.repeat(_.out(Label.Successor))
.emit
.untilWithTraverser(noSuccessor)
.simplePath.path
.filter(endsWithUse)
.map(pathEnd).as("u")
.select
.toList.foreach(addUseEdge)
Not sure what is going wrong, so hopy anyone can help me out here.
Cheers,
RV