处理 SubscriptionChangeList 后释放读取锁定 - AWS SimSpace Weaver

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

处理 SubscriptionChangeList 后释放读取锁定

当您开始更新时,在其他分区中会有在前一个刻度提交的数据的共享内存段。这些共享内存段可能会被读取器锁定。在所有读取器都释放锁定之前,应用程序将无法完全提交。作为一项优化措施,应用程序应在处理 Api::SubscriptionChangelist 项目后调用 Api::ReleaseReadLeases() 来释放锁定。这样可以减少提交时的争用情况。在默认情况下,Api::Commit() 会释放读取租约,但最佳实践是在处理订阅更新后手动将其释放。

例 示例
Result<void> ProcessSubscriptionChanges(Transaction& transaction) { WEAVERRUNTIME_TRY(ProcessSubscriptionChanges(transaction)); /** * Done processing Api::SubscriptionChangeList items. * Release read locks. */ WEAVERRUNTIME_EXPECT(Api::ReleaseReadLeases(transaction)); ... }