Skip to content

Test recovery visibility instead of marker timing / 验证恢复结果而非标记时序 - #10467

Closed
SivanCola wants to merge 1 commit into
esengine:main-v2from
SivanCola:test/recovery-marker-reconcile
Closed

SivanCola wants to merge 1 commit into
esengine:main-v2from
SivanCola:test/recovery-marker-reconcile

Conversation

@SivanCola

Copy link
Copy Markdown
Collaborator

The main-v2 push CI failed in TestCoveredRecoveryCopyBecomesVisibleAfterMigratedParentDeletion because it asserted that two internal migration markers were absent immediately after deletion. The background catalog worker can validly recreate signature-bound markers before deleteSession returns, so that assertion races with successful reconciliation.

This removes the transient marker assertion and keeps the observable contract: deleting the covering parent must expose the recovery copy with the correct topic identity in the project tree. That final assertion still fails if marker invalidation or reconciliation is broken.

Validation:

  • focused test passed 20 consecutive runs
  • focused race test passed 5 consecutive runs
  • gofmt and git diff --check

Problem: Desktop push CI intermittently failed after deleting a migrated parent because a background catalog reconcile recreated a valid topic repair marker before the test's immediate absence assertion.

Root cause: the test treated a transient internal marker state as a product contract even though marker invalidation exists only to trigger reconciliation and the worker may complete that reconciliation before deleteSession returns.

Fix: remove the timing-sensitive marker absence assertion and retain the observable recovery visibility, identity, and project-tree assertions that fail if invalidation or reconciliation is broken.

Verification: focused test passed 20 consecutive runs; focused race test passed 5 consecutive runs; gofmt and git diff --check passed.
@SivanCola
SivanCola requested a review from esengine as a code owner September 17, 2026 16:37
@github-actions github-actions Bot added desktop Wails desktop app (desktop/**) v2 Go rewrite (1.x) — main-v2 branch, active development labels Sep 17, 2026
@SivanCola

Copy link
Copy Markdown
Collaborator Author

This timing-only test fix has been incorporated into #10465 so the release candidate and its full Desktop matrix are validated in one pass. The product-level assertions remain: the recovered copy must become visible with the correct TopicID and appear in the project tree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

desktop Wails desktop app (desktop/**) v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant