本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Lambda 中使用 Gremlin 写入请求的建议
如果您的 Lambda 函数修改了图形数据,请考虑采用回退并重试策略来处理以下异常:
-
ConcurrentModificationException– Neptune 事务语义意味着写入请求有时会失败并引发ConcurrentModificationException。在这些情况下,请尝试使用基于指数回退的重试机制。 -
ReadOnlyViolationException– 由于计划内或计划外的事件会导致集群拓扑随时可能发生变化,因此,写入职责可能会从集群中的一个实例迁移到另一个实例。如果您的函数代码尝试向不再是主(写入器)实例的实例发送写入请求,则请求将失败并引发ReadOnlyViolationException。发生这种情况时,请关闭现有连接,重新连接到集群端点,然后重试请求。
另外,如果您使用回退并重试策略来处理写入请求问题,请考虑为创建和更新请求实现幂等性查询(例如,使用 fold().coalesce().unfold()