test(code-index): treat a queued continuation as not yet ready - #1887
Conversation
#1881 changed ConservativeCloneTokenV1::syntax_kind to Cow<'static, str> and #1882 added a census test that builds it from a String. Each was green on its own branch; master's push run after each merge was cancelled by the next merge, so the union first compiled on master and failed the clippy, feature-gates and core-storage jobs with E0308. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Git 2.47+ detaches maintenance after a commit and holds .git/objects/maintenance.lock while it runs. The read-only capture test fingerprints the git dir before and after two captures, so a lock that appears in the first snapshot and is gone by the second reads as the capture having touched the object store. The fixture now disables auto maintenance and gc for every git call, as the runtime-core fixture does. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
registry_feeds_publications_and_bounded_freshness_reads read Verifying right after wait_for_dashboard_ready returned. The helper joined the seating pass and re-sampled Fresh, but the seat had queued the clone-fingerprint successor as a continuation, and that pass started between the helper's sample and the test's read. Ready now also requires an empty pending wake, so the helper returns only once no pass is running and none is queued. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d0f6520f64
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| && !registry.reconcile_in_progress_for_test(path).await | ||
| && registry.pending_wake_micros_for_root(path).await == Some(0) |
There was a problem hiding this comment.
Recheck the owner after inspecting the pending wake
The checks are ordered so the helper can still return during the queued continuation: after reconcile_in_progress_for_test observes false, the worker can start the follow-up pass and clear its pending wake before pending_wake_micros_for_root reads it, making this condition succeed while the dashboard has already moved to Verifying. Read the pending slot first and then recheck reconcile_in_progress (as wait_for_settled_owner already does), or use that existing barrier before accepting still_ready.
Useful? React with 👍 / 👎.
registry_feeds_publications_and_bounded_freshness_readswent red on #1886's first run (FLKY-FL 2/2) readingVerifyingright afterwait_for_dashboard_readyreturned. The helper joins the seating pass and re-samplesFresh, but the seat queues the clone-fingerprint successor as a continuation, and that pass started between the helper's sample and the test's read. Ready now also requires an empty pending wake, so the helper returns only once no pass is running and none is queued.Stacked on #1886's two commits because master does not compile without them; the diff collapses to the helper change once #1886 lands. Not reproduced locally (0/4 module runs under a 4-CPU quota); the fixed helper passes the whole scheduler test module 3/3 under the same recipe, and the crate's clippy is clean.
🤖 Generated with Claude Code