test: patch msc3902 complement handler-map race#148
Merged
Conversation
The partial-state-join test removes its leave handler off a CurrentState read while the federation goroutine is still dispatching that delivery, so the in-flight callback finds no handler and fails the leave as an unexpected PDU. It's a race in the test harness, not the homeserver — vela delivers each leave exactly once. Carry the fix as a patch applied by run.sh until it lands upstream.
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.
The msc3902 partial-state-join test removes its leave handler off a
CurrentStateread while the federation goroutine is still dispatching that delivery, so the in-flight callback fails the (legitimate) leave as an unexpected PDU. It is a race in the Complement test harness, not vela — vela delivers each leave exactly once.run.sh now applies the fix as a patch to the pinned Complement checkout before the tests compile, until it lands upstream. matrix-org/complement#878 targets the same race but is not mergeable yet (its entry pre-check fatals on the nested kicked/absent subtests).