Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-1923

Intermittent NegativeArraySizeException on drop

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 3.3.1
    • None
    • tinkergraph
    • 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

          Activity

            People

              Unassigned Unassigned
              james.d.baker James Baker
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: