This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Conversation
This file contains 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
…orkers_and_start.py.
…break the flow working.
No need to have an 'ARRANGEMENT' or 'DATABASE' variable, as obviously all these tests are for workers and require Postgres.
This reverts commit 28a9005. Because it didn't work like expected.
Would you like something like #13981 added too? For dependencies and such? |
4 tasks
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Pull Request Checklist
EventStore
toEventWorkerStore
.".code blocks
.(run the linters)
...for more varied testing of workers by type.
In order to fully make use of testing workers in the future, pre-setup the workflow for testing:
That last one have to be careful with. Postgres is required for a worker setup at this time, and by default it has a connection limit of 100. Based on prior reading in closed(I think) issues, it appears that number of workers times config.database.args.cp_max cannot exceed that 100. This limit can be adjusted into the database setup to allow more connections at the time the complement docker image is built. The default of 10 for cp_max means at most 9 workers(have to include master) for a grand total of 10, and in practice you'll want to fudge an extra 10% for qos. So at max, 8 workers realistically. The default set of test workers is 14 and since the database doesn't get a stress test, it probably only uses config.database.args.cp_min(which defaults to 5) for a workers*cp_min of 20 workers(including master). So, theoretically, 19 extra workers before things start acting wonking/janking and twisted starts to barf on the floor.
Other limitations to consider, Github CI gives each runner 2 vCpus and 7Gb of RAM. My homeserver can use 14Gb of ram without blinking and I use 30 workers and have a global cache factor of 40, and I only have 2 users so that is just at startup and idle. When I tried to test my lineup of workers, Github caught fire(not really, but the test failed/timed-out with no logs).
Keeping in mind, there are tests that override all this(like here and here), for the most part this will work as expected
An example of what this looks like from my repo: https://github.com/realtyem/synapse-unraid/actions/runs/3262641493
Signed-off-by: Jason Little realtyem@gmail.com