Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow the homeserver to finish partial-state joining before teardown #570

Merged
merged 1 commit into from
Dec 13, 2022

Conversation

squahtx
Copy link
Contributor

@squahtx squahtx commented Dec 12, 2022

Since the partial state join tests reuse the same homeserver deployment,
it is important that each test leaves the homeserver in an acceptable
state for subsequent tests. In particular, we must allow in-progress
partial-state joins to complete before tearing down Complement servers,
otherwise the homeserver may mark Complement hostname:port combinations
as offline and refuse to contact them in subsequent tests.


These issues have 502 Bad Gateway failures:
Closes matrix-org/synapse#13564.
Closes matrix-org/synapse#14245.
Closes matrix-org/synapse#14543.

Since the partial state join tests reuse the same homeserver deployment,
it is important that each test leaves the homeserver in an acceptable
state for subsequent tests. In particular, we must allow in-progress
partial-state joins to complete before tearing down Complement servers,
otherwise the homeserver may mark Complement hostname:port combinations
as offline and refuse to contact them in subsequent tests.
@squahtx squahtx requested review from a team as code owners December 12, 2022 21:59
Copy link
Contributor

@DMRobertson DMRobertson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this means we now automatically call awaitPartialStateJoinCompletion via defer. We were already doing so in some places. Is there any danger in doing so again? (I think not: we just recheck that Synapse has fully joined by calling /members?)

@squahtx
Copy link
Contributor Author

squahtx commented Dec 13, 2022

I think this means we now automatically call awaitPartialStateJoinCompletion via defer. We were already doing so in some places. Is there any danger in doing so again? (I think not: we just recheck that Synapse has fully joined by calling /members?)

It should be fine. There are no side effects apart from taking extra time.

@squahtx squahtx merged commit 94b75d8 into main Dec 13, 2022
@squahtx squahtx deleted the squah/faster_room_joins_fix_cleanup branch December 13, 2022 12:55
@squahtx squahtx self-assigned this Dec 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment