Skip to content

[nexus] instance update saga: retry "inherit lock", too #10801

Open
hawkw wants to merge 2 commits into
mainfrom
eliza/inherit-lock
Open

[nexus] instance update saga: retry "inherit lock", too #10801
hawkw wants to merge 2 commits into
mainfrom
eliza/inherit-lock

Conversation

@hawkw

@hawkw hawkw commented Jul 10, 2026

Copy link
Copy Markdown
Member

Similarly to #10166, a duplicate execution of the siu_become_updater
saga action, which attempts to inherit the lock from the parent
start_instance_update saga, must never fail if a previous execution of
that node has already marked the instance record as locked. Like in PR
#10177, which fixed #10166, we can resolve this by adding a retry loop
that should retry any transient database errors indefinitely. And, as we
discovered in #10785, the exception to this rule is cases where the
instance record has been deleted, so we handle that gracefully here as
well (or at least we will, once #10787 actually fixes the lock
inheriting query's handling of deleted instance records...).

hawkw added 2 commits July 10, 2026 14:56
Similarly to #10166, a duplicate execution of the `siu_become_updater`
saga action, which attempts to inherit the lock from the parent
`start_instance_update` saga, must never fail if a previous execution of
that node has already marked the instance record as locked. Like in PR
#10177, which fixed #10166, we can resolve this by adding a retry loop
that should retry any transient database errors indefinitely. And, as we
discovered in #10785, the exception to this rule is cases where the
instance record has been deleted, so we handle that gracefully here as
well (or at least we will, once #10787 actually fixes the lock
inheriting query's handling of deleted instance records...).
@hawkw hawkw requested review from davepacheco and jmpesp July 10, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

a well-timed sequence of a Nexus crash and transient db error can leave an instance locked by a failed update saga forever

1 participant