[ 
https://issues.apache.org/jira/browse/TINKERPOP-1923?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17553640#comment-17553640
 ] 

ASF GitHub Bot commented on TINKERPOP-1923:
-------------------------------------------

zhulik commented on PR #818:
URL: https://github.com/apache/tinkerpop/pull/818#issuecomment-1154054781

   The issue is still there and happens very often on 3.5:
   ```
   project-gremlin_server-1  | [WARN] TraversalOpProcessor - Exception 
processing a Traversal on iteration for request 
[6564f5d1-73f7-44d5-ad1d-97bb2aadd582].
   project-gremlin_server-1  | java.lang.NegativeArraySizeException: -1
   project-gremlin_server-1  |      at 
java.base/java.util.AbstractCollection.toArray(AbstractCollection.java:139)
   project-gremlin_server-1  |      at 
java.base/java.util.ArrayList.addAll(ArrayList.java:702)
   project-gremlin_server-1  |      at 
java.base/java.util.HashMap$Values.forEach(HashMap.java:977)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerHelper.getEdges(TinkerHelper.java:172)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerVertex.edges(TinkerVertex.java:158)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerVertex.remove(TinkerVertex.java:143)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropStep.filter(DropStep.java:68)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:38)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:55)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:37)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:55)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.map.ScalarMapStep.processNextStart(ScalarMapStep.java:39)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:226)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.server.util.TraverserIterator.fillBulker(TraverserIterator.java:69)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.server.util.TraverserIterator.hasNext(TraverserIterator.java:56)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.server.op.traversal.TraversalOpProcessor.handleIterator(TraversalOpProcessor.java:302)
   project-gremlin_server-1  |      at 
org.apache.tinkerpop.gremlin.server.op.traversal.TraversalOpProcessor.lambda$iterateBytecodeTraversal$0(TraversalOpProcessor.java:222)
   project-gremlin_server-1  |      at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
   project-gremlin_server-1  |      at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
   project-gremlin_server-1  |      at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
   project-gremlin_server-1  |      at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
   project-gremlin_server-1  |      at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
   project-gremlin_server-1  |      at 
java.base/java.lang.Thread.run(Thread.java:829)
   ```
   I use gremlin-server as a replacement for AWS Neptune locally and on CI. 
Main use case - create tens of thousands of vertices and nodes(in parallel from 
multiple processes), run some queries, drop all the data with `g.V().drop()`. 
The error occurs even if I delete edges with `g.E().drop()` first.
   
   After the first error, all queries that drop vertices start returning the 
same error and do not delete anything, server has to be restarted. From my 
experience the error occurs more often if I use more parallel processes to 
import my data.




> 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
>            Priority: Major
>
> 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
(v8.20.7#820007)

Reply via email to