Repository navigation
Recover corrupted DMS deployment-history markers - #7065
Draft
shreyas-goenka wants to merge 2 commits into
Draft
shreyas-goenka wants to merge 2 commits into
shreyas-goenka wants to merge 2 commits into
Conversation
…enka/dms-marker-recovery-stack
shreyas-goenka
added this pull request to stack #7047
October 14, 2026 15:45
Collaborator
Integration test reportCommit: c43801a
19 interesting tests: 12 flaky, 7 FAIL
Top 25 slowest tests (at least 2 minutes):
|
This branch has not been deployed
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.
Changes
Repair a missing or malformed resources.json marker only after confirming its existing DMS deployment. Reuse a valid surviving recorded header; otherwise create a new lineage and warn that old saved plans are invalidated. Upload the repaired marker through the approved deployment path.
Reuse the deployment lookup during initialization. Preserve direct-state resources and schema, feature, WAL, access, and service error checks. Fresh non-DMS invocations do not probe DMS.
Stacked above #7056; migration remains before the three follow-up PRs.
Why
DMS holds the resources and versions, so a damaged marker should be recoverable without recreating resources. This supplies the third write case after first deployment and migration.
Tests
Focused package tests/lint and state/DMS/user-agent acceptance pass. Recovery tests cover surviving/fresh lineage and negative gates; upload assertions verify one repair write, unchanged resource IDs, and advancing service versions.
Repository-wide quick checks, Go lints, doctests, and unit tests pass (the invalid local pip index was removed for the test process only). Full acceptance still reports migration-baseline expectation failures and unrelated dependency/SSH failures; Python formatting/lint could not fetch pinned Ruff because PyPI DNS is unavailable. No unrelated expectations were rewritten.
Implementation and PR description written with Codex.