AWS neptune выдает ошибку тайм-аута, когда значение тайм-аута запроса больше

Я выполняю запрос gremlin на AWS neptune, который занимает 2,5 минуты для получения результатов, я сохранил свой neptune_query_timeout = 500000, версия движка neptune - 1.0.4.1

Недавно я вижу эту ошибку в своем запросе, который раньше работал нормально -

{'error': TimeoutError('Operation timed out after 30 seconds',)}

Мне не кажется, что фактический запрос на нептуне истекает по таймауту, я уже держал долгое время ожидания 500000 в файле конфигурации, и раньше он работал нормально.

Недавно я вижу указанную выше ошибку и не знаю, как ее преодолеть.


ИЗМЕНИТЬ

График выглядит как

Пользователи (узел) ---- играли (край) ----- ›игры (узел)

Итак, фактический запрос, который я пытаюсь выполнить, таков:

g.V().hasLabel('users').where(outE('played').count().is(gt(10)))

который работает нормально и дает мне всех пользователей, которые играли более 10 раз или, другими словами, имели 10 или более сыгранных ребер из узла пользователей.

но когда я просто хочу подсчитать количество пользователей и изменил запрос, как показано ниже, я получаю ошибку тайм-аута.

g.V().hasLabel('transient_id').where(outE('visited').count().is(gt(10))).count().next()

Любая помощь приветствуется, спасибо


person Machine_leaning_9    schedule 18.12.2020    source источник
comment
Можете ли вы выполнить запрос через Neptune Gremlin Profiler и опубликовать результат здесь? Не шаг profile (), а вот этот: docs. aws.amazon.com/neptune/latest/userguide/ Вы также можете перейти к этому через %%gremlin profile в Блокнотах Neptune.   -  person Taylor Riggan    schedule 19.12.2020
comment
Вы используете настраиваемые конечные точки? Если да, не могли бы вы вместо этого попробовать использовать конечную точку кластера db по умолчанию?   -  person yigit    schedule 19.12.2020
comment
Кроме того, если вы используете TornadoTransport в клиенте, убедитесь, что вы не используете тайм-аут по умолчанию: github.com/apache/tinkerpop/blob/master/gremlin-python/src/main/   -  person yigit    schedule 22.12.2020


Ответы (1)


В версии 3.4.9 клиента Apache TinkerPop Gremlin Python была проблема, из-за которой время ожидания любого запроса (на стороне клиента) составляло 30 секунд. Судя по тегам в вопросе, похоже, что вы используете Gremlin Python. Эта проблема теперь решена в выпуске 3.4.10 от Apache TinkerPop.

person Kelvin Lawrence    schedule 01.03.2021