mirror of
https://github.com/element-hq/synapse.git
synced 2026-04-25 11:02:19 +00:00
Follow-up to https://github.com/element-hq/synapse/pull/19383 The [`ProxiedReactor`](079c52e16b/synapse/app/complement_fork_starter.py (L38-L71)) is a special custom reactor used in the `synapse/app/complement_fork_starter.py`. It's used by default when using `WORKERS=1 ./scripts-dev/complement.sh` (see `SYNAPSE_USE_EXPERIMENTAL_FORKING_LAUNCHER`). The point of the forking launcher is to improve start-up times and the point of the [`ProxiedReactor`](079c52e16b/synapse/app/complement_fork_starter.py (L38-L71)) is explained in the [docstring](079c52e16b/synapse/app/complement_fork_starter.py (L38-L56)) (introduced in https://github.com/matrix-org/synapse/pull/13127) ### Reproduction instructions 1. Using the Complement scripts **with workers**: `WORKERS=1 COMPLEMENT_DIR=../complement ./scripts-dev/complement.sh ./tests/csapi` 1. `docker logs complement_csapi_dirty_hs1 2>&1 | grep -i "reactor"` 1. With these changes, notice `Twisted reactor: ProxiedReactor` but no warning about `Skipping configuring ReactorLastSeenMetric: unexpected reactor type: <__main__.ProxiedReactor object at 0x7fc0adaaea50>` 1. Cleanup: - `docker stop $(docker ps --all --filter "label=complement_context" --quiet)` - `docker rm $(docker ps --all --filter "label=complement_context" --quiet)` To test that we're actually seeing reactor metrics, I've been using this with the load-test runs in https://github.com/element-hq/synapse-rust-apps/pull/397