orientechnologies / orientdb-gremlin

TinkerPop3 Graph Structure Implementation for OrientDB
Apache License 2.0
91 stars 32 forks source link

java.lang.NegativeArraySizeException on g.V().drop() #180

Open leiyucs opened 3 years ago

leiyucs commented 3 years ago

I used g.io() import a fairly large graphml file and it worked. However, when I run g.V().drop(), it poped java.lang.NegativeArraySizeException . I tried to use a part of test.xml and found no problem with that. However, increasing the size of the file by adding edges incrementally to some point caused the problem. No problem with the data.

gremlin> g.io("/tmp/test.xml").read() gremlin> g.V().count() ==>5336 gremlin> g.V().drop() java.lang.NegativeArraySizeException Type ':help' or ':h' for help. Display stack trace? [yN]y java.lang.NegativeArraySizeException at java.util.Base64$Encoder.encode(Base64.java:262) at java.util.Base64$Encoder.encodeToString(Base64.java:315) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:111) at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:2422) at com.orientechnologies.orient.core.record.impl.ODocument.checkForFields(ODocument.java:3258) at com.orientechnologies.orient.core.record.impl.ODocument.accessProperty(ODocument.java:3264) at com.orientechnologies.orient.core.record.impl.ODocumentHelper.getIdentifiableValue(ODocumentHelper.java:808) at com.orientechnologies.orient.core.record.impl.ODocument.getProperty(ODocument.java:392) at com.orientechnologies.orient.core.record.impl.OVertexDelegate.detachEdge(OVertexDelegate.java:236) at com.orientechnologies.orient.core.record.impl.OVertexDelegate.detachOutgointEdge(OVertexDelegate.java:222) at com.orientechnologies.orient.core.record.impl.OEdgeDelegate.deleteLinks(OEdgeDelegate.java:129) at com.orientechnologies.orient.core.record.impl.OEdgeDocument.delete(OEdgeDocument.java:60) at com.orientechnologies.orient.core.record.impl.OEdgeDocument.delete(OEdgeDocument.java:9) at com.orientechnologies.orient.core.record.impl.OVertexDocument.deleteLinks(OVertexDocument.java:369) at com.orientechnologies.orient.core.record.impl.OVertexDocument.delete(OVertexDocument.java:357) at com.orientechnologies.orient.core.record.impl.OVertexDocument.delete(OVertexDocument.java:31) at org.apache.tinkerpop.gremlin.orientdb.OrientElement.remove(OrientElement.java:107) at org.apache.tinkerpop.gremlin.process.traversal.step.filter.DropStep.filter(DropStep.java:68) 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.util.DefaultTraversal.hasNext(DefaultTraversal.java:197) at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:93) at org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor.lambda$evalOpInternal$5(AbstractEvalOpProcessor.java:264) at org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor$$Lambda$337/0x00000000400e49f0.accept(Unknown Source) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:278) at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor$$Lambda$149/0x000000005d919600.call(Unknown Source) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:823)