Отбросьте все края на AWS Neptune с помощью pythongremlin

Я использую 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?

РЕДАКТИРОВАТЬ: удаление определенного идентификатора работает:
g.E(id).drop().iterate()

EDIT2:
Вот обратная трассировка, сделанная с помощью консоли gremlin:

гремлин> g.E (). count (). next ()

Я бы сказал, что это проблема с тайм-аутом, верно?

Хорошо, поэтому после некоторого обмена мнениями с @stephen mallette в комментариях к вопросу и поддержке AWS я наконец нашел, в чем проблема.
Поскольку это все еще предварительная версия, NEPTUNE все еще страдает некоторыми небольшими проблемами, и g.E().drop().iterate() является одним из них.
Обходной путь, поддержка заключается в выполнении g.E(id).drop().iterate() пакетами через параллельные соединения:


person VivienG    schedule 17.04.2018    source источник
comment
Спасибо за комментарий @stephenmallette, я попытаюсь получить доступ к консоли Gremlin, но, поскольку это управляемый продукт, не уверен, что смогу. Держать вас на связи   -  person stephen mallette    schedule 17.04.2018
comment
вы можете docs.aws.amazon.com/ neptune / latest / userguide /   -  person VivienG    schedule 17.04.2018
comment
Мне удается найти обратную связь!   -  person stephen mallette    schedule 17.04.2018
comment
да - если вы удаляете много вершин, вы можете столкнуться с этой проблемой. Я не уверен, какой рекомендуемый способ - очистить базу данных с помощью neptune. вы должны проверить это - может быть более эффективный подход.   -  person VivienG    schedule 17.04.2018
comment
Предлагаемая версия - использовать _1_, я меняю тайм-аут в системе конфигурации Нептуна с 2 до 5 минут. Подскажите, как мне узнать, что это за ошибка _2_? (Первая ошибка в вопросе).   -  person stephen mallette    schedule 17.04.2018
comment
ошибка 597 - исключение сценария - как сказано в тексте ошибки. он должен быть брошен, когда отправленный вами Гремлин не распознается сервером, но вы выглядите так, как будто у вас есть действительный Гремлин, поэтому, как я сказал ранее, я не уверен, почему Нептун отвергает это.   -  person VivienG    schedule 17.04.2018
comment
Даже с таймаутом в 5 минут он не падает. Странное поведение.   -  person stephen mallette    schedule 17.04.2018
comment
Вам больше не понадобится пакетное удаление. g.V (). drop (). iterate () теперь должен работать нормально.   -  person VivienG    schedule 17.04.2018


Ответы (1)


g.V (). limit (1000) .drop ()

Таким образом, отбрасывание таблицы приводит к таймауту прямо сейчас, даже с 5-минутным тайм-аутом и 700 000 ребер.
Я обновлю этот ответ при выпуске NEPTUNE.

Не уверен, почему этот вопрос подбирает все отрицательные голоса и флаг закрытия. Это довольно ясно, если вы знаете gremlinpython, хотя я не знаю, почему вы получите эту конкретную ошибку для этого конкретного обхода. Я не вижу в этом ничего недействительного. Вы пытались запустить тот же сценарий из консоли Gremlin, чтобы проверить, работает ли он?

person VivienG    schedule 28.04.2018
comment
"не следует", но когда: _1_ - person The-Big-K; 24.10.2018
comment
пакетирование в группы по 100 тыс. вроде работает, нормально: gremlin> g.V().drop().iterate() {"requestId":"50d97889-208b-463f-9c9c-8e89f9df1f65","code":"InternalFailureException","detailedMessage":"An unexpected error has occurred in Neptune."} Type ':help' or ':h' for help. Display stack trace? [yN]y org.apache.tinkerpop.gremlin.jsr223.console.RemoteException: {"requestId":"50d97889-208b-463f-9c9c-8e89f9df1f65","code":"InternalFailureException","detailedMessage":"An unexpected error has occurred in Neptune."} at org.apache.tinkerpop.gremlin.console.jsr223.DriverRemoteAcceptor.submit(DriverRemoteAcceptor.java:185) - person Scott; 22.08.2019
comment
==> 740839
gremlin> gE (). Drop (). Iterate ()
Истекло время ожидания в сценарии во время оценки [RequestMessage {, requestId = 24c3d14c-c8be-4ed9-a297-3fd2b38ace9a, op = 'eval',> processor = '', 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}}] - рассмотрите возможность увеличения тайм-аута
на org.apache. tinkerpop.gremlin.console.jsr223.DriverRemoteAcceptor.submit (DriverRemoteAcceptor.java:178)
на org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute (GremlinGroovysh.groovy: 99 )haus в org.code. 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 $ работа (InteractiveShellRunner.groovy)
в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethod.java:62 > at sun.reflect.Del egatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
в java.lang.reflect.Method.invoke (Method.java:498)
в org.codehaus.groovy.reflection.CachedMethod.invoke (CachedavaMethod. 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.Runtime.invokeMethodOnSuper0 (ScriptBytecodeAdapter. 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 (собственный метод)
в sun.reflect.NativeMethodAccessorI mpl.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)
на Groovy.lang.MetaClassImpl.invokeMethod (MetaClassImpl.java:1225)
на org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN (ScriptBytecodeAdapter.java:145.code)
на org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN (ScriptBytecodeAdapter.java:145.code)
runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0 (ScriptBytecodeAdapter.java:165)
в org.codehaus.groovy.tools.shell.InteractiveShellRunner.run (InteractiveShellRunner.groovy: 89)
в org.codehaus. 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)
gremlin> - person Scott; 22.08.2019