James Baker created TINKERPOP-1923:
--------------------------------------
Summary: Intermittent NegativeArraySizeException on drop
Key: TINKERPOP-1923
URL: https://issues.apache.org/jira/browse/TINKERPOP-1923
Project: TinkerPop
Issue Type: Bug
Components: tinkergraph
Affects Versions: 3.3.1
Reporter: James Baker
I am intermittently getting the following exception when dropping vertices on a
TinkerGraph:
{noformat}
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)
{noformat}
My code is as follows (the last line is Line 172, which is where the exception
is thrown):
{code:java}
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();
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)