Conversation
…bility Co-Authored-By: Steven Zhang <szhang@launchdarkly.com>
Contributor
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
devin-ai-integration
Bot
deleted the
devin/1790620966-persistent-store-recovery-capability
branch
September 28, 2026 19:08
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.
Advertises the new
persistent-data-store-recoverycontract-test capability (added in launchdarkly/sdk-test-harness#464) from the sync and async contract-test services.Requirements
async_*siblings (or N/A)Related issues
launchdarkly/sdk-test-harness#464
Describe the solution you've provided
persistent-data-store-recoverytocontract-tests/service.pyandcontract-tests/async_service.py.Describe alternatives you've considered
Suppressing the failing tests in this PR; left out so the failures are visible for review.
Additional context
Local results and root cause
Ran harness PR #464 locally with
-enable-persistence-tests -run "persistent data store/.*/store recovery"against Redis (the only store the Python contract service exposes for recovery here).Sync and async both: 9 ran, 5 failed:
serves updates from memory during outagepasses.Root cause:
Store.commit()(ldclient/impl/datasystem/store.py) builds the write-back payload withself._memory_store.all(...), which filters out deleted items. The persistent store is theninited without the tombstone for the deleted flag, while the harness expects the deleted flag to be persisted as a tombstone at the new version. A local experiment that wrote back the memory store's raw items (including tombstones) passed all 9 Redis recovery tests.Link to Devin session: https://app.devin.ai/sessions/0771b1fabf2b46e093700f45c02dcfff
Open in Devin Desktop: https://app.devin.ai/desktop/session/0771b1fabf2b46e093700f45c02dcfff?variant=devin
Requested by: @joker23