Repository navigation
validation: retry a retryable abandon in the continue-as-new backoff test - #70
Merged
Merged
Conversation
…test
test_continue_as_new_unregistered_backoff releases its competing inspection
fetch with abandon_orchestration_item while a runtime fetches from the same
store. On SQLite's shared-cache in-memory store the two transactions can
block each other. The provider then returns a retryable error ("database is
deadlocked"), and the test panicked on it. CI hit this on the 0.1.32 release
PR. Locally it failed 1 in 100 runs.
Retry the abandon on retryable errors, as the fetch right above it already
does. A failed abandon leaves the lock in place, so the retry is safe. With
the fix, 200 of 200 runs passed and the retry fired twice.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CuCN2hdY59UrmFYYc7DSBJ
Affan Dar (affandar)
force-pushed
the
fix/validation-retry-abandon
branch
from
October 11, 2026 19:07
7007054 to
8711a3e
Compare
4 of 7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
test_continue_as_new_unregistered_backoff(insrc/provider_validation/race_replay.rs, added in #67) failed in CI on the 0.1.32 release PR (#68):The test calls the store directly while a runtime fetches from the same store:
The validation store is SQLite in-memory with a shared cache (
sqlite::memory:?cache=shared). There, two transactions can block each other, and the provider reports a retryable error. The test already retried that error on its own fetch, two lines above, but not on the abandon.This PR retries the abandon on retryable errors, up to 5 times with a short backoff.
instance_locking.rsalready does the same for this SQLite error. A failed abandon leaves the lock in place, so the retry is safe.This code ships in the public
provider_validationmodule. Without the fix, other providers that run the suite could hit the same random failure.Checklist
cargo nt), run through./run-tests.shcargo test --doc --all-features)docs/if introducing a new areadocs/README.mdValidation
Rust 1.97.1, macOS.
cargo fmt --check,cargo clippy ... -D warningssqlite_provider_validations./run-tests.shcargo test --doc --all-featuresNo changelog entry: this test is new in the unreleased 0.1.32.
Links / Design notes