Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
3.3.1
-
None
-
None
Description
I am intermittently getting the following exception when dropping vertices on a TinkerGraph:
Exception in thread "main" java.lang.NegativeArraySizeException at java.util.AbstractCollection.toArray(AbstractCollection.java:136) at java.util.ArrayList.addAll(ArrayList.java:581) at java.util.HashMap$Values.forEach(HashMap.java:981) at org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerHelper.getEdges(TinkerHelper.java:172) at org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerVertex.edges(TinkerVertex.java:146) at org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerVertex.remove(TinkerVertex.java:131) at org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropStep.filter(DropStep.java:67) at org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:38) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) at org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:37) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:128) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.next(AbstractStep.java:38) at org.apache.tinkerpop.gremlin.process.traversal.Traversal.iterate(Traversal.java:203) at org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal.iterate(GraphTraversal.java:2664) at org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal$Admin.iterate(GraphTraversal.java:177) at org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.iterate(DefaultGraphTraversal.java:48) at mycode.merge.GraphMerger.mergeVertices(GraphMerger.java:172) at mycode.merge.GraphMerger.lambda$mergeGraphs$6(GraphMerger.java:78) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(ConcurrentHashMap.java:3566) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at mycode.merge.GraphMerger.mergeGraphs(GraphMerger.java:79) at mycode.cli.mapper.MergeGraphFiles.main(MergeGraphFiles.java:117)
My code is as follows (the last line is Line 172, which is where the exception is thrown):
LOGGER.info("Removing original vertices"); Object[] ids = mergeGroup.stream().map(Element::id).toArray(); LOGGER.debug("IDs to remove {}", ids); if(ids != null && ids.length > 0) graph.traversal().V(ids).drop().iterate();
Attachments
Issue Links
- links to