Relationships
#3393 Flaky test: AccessDataPoller "a grant created by a real method run through A stays staged on A and reaches B" fails under full-suite load
Opened by zack · 10/13/2026· Shipped 10/13/2026
What happens
integration/serve_filesystem_access_data_poller_test.ts, test "AccessDataPoller: a grant created by a real method run through A stays staged on A and reaches B", fails intermittently when the whole suite runs:
AssertionError: Values are not equal: A's own run stays staged
- allow
+ denyHow often
On plain main at 91d688f1 (no local changes), deno run test failed on this test in 2 of 6 full runs. The file passes when run alone (3 of 3), and deno run test integration passed 3 of 3, so it needs the load of the full parallel suite.
It also failed the run-tests step of a verify-build run for an unrelated branch (swamp-club#2528), which is how it was found.
Likely cause
The test starts poller A, runs a real grant create through A, waits for B to apply it, waits two more poll cycles on A, and then asserts A still decides deny. Under load, A's poller appears to treat the run's own writes (the data versions, or the method-summary report written into the grant directory after the ModelUpdated event) as a peer change and applies the grant. Either the product has a window where a serve instance's own run reads as a peer change, or the test's two-cycle wait races the event that marks those writes as its own. The test was added with swamp-club#3371.
Expected
The test passes under deno run test and deno test --repeats, or the window is closed if it is a real one.
Shipped
Click a lifecycle step above to view its details.
zack commented 10/13/2026, 8:45:12 PM
#3394 was closed as a duplicate of this issue. One extra data point from it: the same test failed in 2 of 3 verify-build runs on merge commit 8f3b1f30 (found while verifying #3376), with the assertion at integration/serve_filesystem_access_data_poller_test.ts:433, and passed 6 of 6 when the file was run alone.
Sign in to post a ripple.