Skip to content

The migration-lock test does not hang - #100

Merged
juicycleff merged 1 commit into
mainfrom
docs/ci-lock-test-does-not-hang
Aug 26, 2026
Merged

The migration-lock test does not hang#100
juicycleff merged 1 commit into
mainfrom
docs/ci-lock-test-does-not-hang

Conversation

@juicycleff

Copy link
Copy Markdown
Contributor

ci.yml justified its -run filter by saying the mongo suite contains a hanging migration-lock test. It does not.

TestMigrate_DoesNotBreakFreshLock passes in 11 to 12 seconds over four runs, against a single-node rs0 replica set matching this job's own service. It waits out the migration lock-acquire retry rather than blocking on it.

Why this is worth a PR on its own

Stale comments are worse than absent ones, because they get believed. This one did. I repeated it as fact when writing up a task for another session, which sent somebody looking for a hang that was never there. They found the truth by running it, and I have now run it myself rather than take their number on trust.

That is the whole change: comment only, no behaviour.

What it deliberately does not do

The filter itself is untouched. Its stated justification being wrong does not tell you what the right filter is.

The question underneath is real and unresolved: there are 96 integration-tagged test functions, this pattern matches 7, and the remaining 89 are built by nothing and run by nothing while sitting in the tree looking like coverage. Widening the filter is a decision with a cost either way, and resolving it as a side effect of a comment fix would be the wrong way to make it. The comment now states the numbers and says to run those 89 as a set against main before changing anything, because the only count taken of them so far was taken against a tree 300 commits behind and came out wrong.

Verification

Four runs, 11.38s, 12.36s, 11.60s, 11.08s, all passing, no intermittency. YAML still parses, all seven jobs intact, and every changed line is a comment.

One em dash disappeared as a side effect of rewriting the block. The one remaining at line 199 is in an unrelated comment and stays, rather than widening this diff to cover prose I am not otherwise touching.

ci.yml justified its -run filter by saying the mongo suite contains a
hanging migration-lock test. TestMigrate_DoesNotBreakFreshLock does not
hang. Against a single-node rs0 replica set matching this job's own service
it passes in 11 to 12 seconds over four runs, waiting out the migration
lock-acquire retry rather than blocking on it.

The claim was stale, and stale comments are worse than absent ones because
they get believed. This one did: I repeated it as fact when writing up a
task for another session, which sent somebody looking for a hang that was
not there. They found the truth by running it. I have now run it myself
rather than take their number on trust, which is the same courtesy.

Comment only. The filter itself is untouched, deliberately. Its stated
justification being wrong does not tell you what the right filter is, and
the real question underneath, whether the other 89 integration-tagged tests
belong in this job, deserves a decision rather than being resolved as a side
effect of a comment fix. The comment now says that plainly and says to run
them as a set against main before widening anything, because the only count
taken of them so far was taken against a 300-commit-stale tree.

One em dash removed as a side effect of rewriting the block. The one left at
line 199 is in an unrelated comment and stays there rather than widening
this diff.
@juicycleff
juicycleff merged commit 27c17e7 into main Aug 26, 2026
16 checks passed
@juicycleff
juicycleff deleted the docs/ci-lock-test-does-not-hang branch August 26, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant