As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Recomendações para usar solicitações de gravação do Gremlin no Lambda
Se a função do Lambda modificar dados de grafos, pense em adotar uma estratégia de recuo e repetição para lidar com as seguintes exceções:
-
ConcurrentModificationException: a semântica da transação do Neptune significa que as solicitações de gravação às vezes falham com umaConcurrentModificationException. Nessas situações, experimente um mecanismo de repetição baseado em recuo exponencial. -
ReadOnlyViolationException: como a topologia do cluster pode mudar a qualquer momento como resultado de eventos planejados ou não, as responsabilidades de gravação podem migrar de uma instância no cluster para outra. Se o código de função tentar enviar uma solicitação de gravação a uma instância que não seja mais a principal (de gravador), a solicitação falhará com umaReadOnlyViolationException. Quando isso acontecer, feche a conexão existente, reconecte-se ao endpoint do cluster e repita a solicitação.
Além disso, se você usar uma estratégia de recuo e repetição para lidar com problemas de solicitação de gravação, considere implementar consultas idempotentes para solicitações de criação e atualização (por exemplo, usando fold().coalesce().unfold()