2

我正在使用 gremlinpython 版本 3.3.2 和 AWS NEPTUNE。
我尝试删除所有边缘(也尝试了顶点),但每次都失败。
g.E().drop().iterate()
给我:

gremlin_python.driver.protocol.GremlinServerError:597:异常处理请求的脚本 [RequestMessage{,requestId=ae49cbb7-e034-4e56-ac76-b62310f753c2,op='bytecode',processor='traversal',args={gremlin=[ [], [V(), drop()]], 别名={g=g}}}]。

是否有人已经成功删除了 AWS Neptune 中图形的所有顶点/边?

编辑:删除特定 ID 有效:
g.E(id).drop().iterate()

EDIT2:
这是使用 gremlin 控制台完成的回溯:

gremlin> gE().count().next()

==>740839
gremlin> gE().drop().iterate()
在评估 [RequestMessage{, requestId=24c3d14c-c8be-4ed9-a297-3fd2b38ace9a, op='eval', > 处理器期间,脚本发生超时='', args={gremlin=gE().drop().iterate(), bindings={}, batchSize=64}}] - 考虑增加超时 输入
':help' 或 ':h' 寻求帮助。
显示堆栈跟踪?[yN]y
org.apache.tinkerpop.gremlin.jsr223.console.RemoteException:在评估 [RequestMessage{, > requestId=24c3d14c-c8be-4ed9-a297-3fd2b38ace9a, op='eval', processor='', args={gremlin=gE().drop().iterate(), bindings={}, > batchSize=64}}] - 考虑增加超时
at org.apache.tinkerpop.gremlin.console.jsr223.DriverRemoteAcceptor.submit(DriverRemoteAcceptor.java:178)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:99)
at org.codehaus.groovy .tools.shell.Shell.leftShift(Shell.groovy:122)
在 org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:95)
在 org.codehaus.groovy.tools.shell.InteractiveShellRunner.super $2$work(InteractiveShellRunner.groovy)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325 )

org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0
(ScriptBytecodeAdapter. java:165)
在 org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:130)
在 org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:59)
在 org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
在 groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
在 groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225)
在 org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:145)
在 org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:165)
在 org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:89)
在 org.codehaus.groovy.vmplugin.v7 .IndyInterface.selectMethod(IndyInterface.java:236)
在 org.apache.tinkerpop.gremlin.console.Console.(Console.groovy:146)
在 org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:第236章)
在org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:453

我会说这是一个超时问题,对吧?

4

1 回答 1

2

好的,在与@stephen mallette 对问题的评论和 AWS 支持进行了一些交流后,我终于找到了问题所在。
由于它仍然是预览版,NEPTUNE 仍然存在一些小问题,并且drop()是其中之一。
支持人员提供的解决方法是drop()通过并行连接批量执行:

gV().limit(1000).drop()

因此,即使有 5 分钟的超时和 700.000 条边,drop table 现在也会超时。
我将在 NEPTUNE 发布时更新此答案。

于 2018-04-28T12:45:58.387 回答