Skip to content

Commit 4de644b

Browse files
fredoulope
authored andcommitted
Temporarily disable worker mode [REVERT ME LATER]
This is a workaround various not yet solved inconsistencies in the presence hook implementation inside Synapse. This commit needs to be reverted once we make a release with Synapse >= 1.34.0
1 parent cb54cb8 commit 4de644b

File tree

4 files changed

+9
-75
lines changed

4 files changed

+9
-75
lines changed

build/synapse/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ RUN /synapse-venv/bin/pip install \
2424
docker-py \
2525
raiden-synapse-modules==${RAIDEN_SYNAPSE_MODULES}
2626

27+
# XXX Temporary hot-patch while https://github.com/matrix-org/synapse/pull/9820 is not released yet -- note: this should
28+
# be run in in workerless setup
29+
RUN sed -i 's/\(\s*\)if self.worker_type/\1if True or self.worker_type/' /synapse-venv/lib/python3.9/site-packages/raiden_synapse_modules/pfs_presence_router.py
30+
2731
COPY eth_auth_provider.py /synapse-venv/lib/python3.9/site-packages/
2832
COPY admin_user_auth_provider.py /synapse-venv/lib/python3.9/site-packages/
2933
COPY synapse-entrypoint.sh /bin/

build/synapse/synapse-entrypoint.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ TYPE="$1"
1010
shift
1111

1212
if [[ $TYPE == 'worker' ]]; then
13+
echo "WORKERS ARE DISABLED!"
14+
exit 1
1315
WORKER="$1"
1416
shift
1517
CONFIG_PATH=$(/synapse-venv/bin/python /bin/render_config_template.py "$TYPE" --type "$WORKER")
@@ -19,7 +21,7 @@ elif [[ $TYPE == 'synapse' ]]; then
1921
/synapse-venv/bin/python /bin/render_config_template.py "$TYPE"
2022
/synapse-venv/bin/python -m synapse.app.homeserver --config-path /config/synapse.yaml --generate-keys
2123

22-
/synapse-venv/bin/python -m synapse.app.homeserver --config-path /config/synapse.yaml --config-path /config/workers/homeserver.yaml
24+
/synapse-venv/bin/python -m synapse.app.homeserver --config-path /config/synapse.yaml
2325
else
2426
echo "Unknown run type: $TYPE"
2527
exit 1

config/synapse/synapse.template.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ log_config: "/config/synapse.log.config"
4444
## Split worker specific settings
4545

4646
# Handled by the federation_sender worker
47-
send_federation: False
47+
send_federation: true
4848
# Handled by the user_directory worker
49-
update_user_directory: False
49+
update_user_directory: true
5050

5151

5252
## Ratelimiting

docker-compose.yml

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -164,78 +164,6 @@ services:
164164
- "traefik.http.middlewares.metrics-access-control.ipwhitelist.sourcerange=${CIDR_ALLOW_METRICS}"
165165
- "purge_restart_container=true"
166166

167-
generic_worker:
168-
<< : *IMAGE_SYNAPSE_VERSION
169-
restart: always
170-
volumes:
171-
- ./config/synapse:/config
172-
- ${DATA_DIR:-./data}/synapse:/data
173-
- /var/run/docker.sock:/var/run/docker.sock
174-
environment:
175-
- SERVER_NAME=transport.${SERVER_NAME}
176-
- SERVICE_REGISTRY
177-
- ETH_RPC
178-
depends_on:
179-
synapse:
180-
condition: service_healthy
181-
command: ["worker", "generic_worker"]
182-
scale: ${WORKER_COUNT:-4}
183-
<<: *log-config
184-
labels:
185-
- "traefik.enable=true"
186-
- "traefik.http.routers.generic_worker.rule=Host(`transport.${SERVER_NAME}`) && (PathPrefix(`/_matrix/client/versions`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0)}/initialSync`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0)}/rooms/{room:[^/]+}/initialSync`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/account/3pid`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/join/`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/joined_groups`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/keys/changes`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/keys/query`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/login`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/profile/`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/publicised_groups`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/publicRooms`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/rooms/{room:.*}/context/{context:.*}`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/rooms/{room:.*}/joined_members`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/rooms/{room:.*}/members`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/rooms/{room:.*}/send`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/rooms/{room:.*}/state`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/rooms/{room:.*}/{action:(join|invite|leave|ban|unban|kick)}`) || PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/voip/turnServer`) || PathPrefix(`/_matrix/client/{version:(api/v1|v2_alpha|r0)}/events`) || PathPrefix(`/_matrix/client/{version:(v2_alpha|r0)}/sync`) || PathPrefix(`/_matrix/federation/v1/{type:(backfill|event|event_auth|exchange_third_party_invite|get_groups_publicised|get_missing_events|invite|make_join|make_leave|publicRoom|query|query_auth|send|send_join|send_leave|state|state_ids|user/devices)}`) || PathPrefix(`/_matrix/federation/v2/{type:(invite|send_join|send_leave)}`) || PathPrefix(`/_matrix/key/v2/query`))"
187-
- "traefik.http.routers.generic_worker.tls=true"
188-
- "traefik.http.routers.generic_worker.tls.certresolver=le"
189-
- "traefik.http.routers.generic_worker.service=generic_worker"
190-
- "traefik.http.services.generic_worker.loadbalancer.server.port=8008"
191-
- "traefik.http.services.generic_worker.loadbalancer.sticky=true"
192-
193-
federation_sender:
194-
<< : *IMAGE_SYNAPSE_VERSION
195-
restart: always
196-
volumes:
197-
- ./config/synapse:/config
198-
- ${DATA_DIR:-./data}/synapse:/data
199-
- /var/run/docker.sock:/var/run/docker.sock
200-
environment:
201-
- SERVER_NAME=transport.${SERVER_NAME}
202-
- SERVICE_REGISTRY
203-
- ETH_RPC
204-
depends_on:
205-
synapse:
206-
condition: service_healthy
207-
command: ["worker", "federation_sender"]
208-
healthcheck:
209-
disable: true
210-
<< : *log-config
211-
labels:
212-
- "purge_restart_container=true"
213-
214-
user_dir:
215-
<< : *IMAGE_SYNAPSE_VERSION
216-
restart: always
217-
volumes:
218-
- ./config/synapse:/config
219-
- ${DATA_DIR:-./data}/synapse:/data
220-
- /var/run/docker.sock:/var/run/docker.sock
221-
environment:
222-
- SERVER_NAME=transport.${SERVER_NAME}
223-
- SERVICE_REGISTRY
224-
- ETH_RPC
225-
depends_on:
226-
synapse:
227-
condition: service_healthy
228-
command: ["worker", "user_dir"]
229-
scale: ${WORKER_COUNT:-4}
230-
<< : *log-config
231-
labels:
232-
- "traefik.enable=true"
233-
- "traefik.http.routers.user_dir.rule=Host(`transport.${SERVER_NAME}`) && PathPrefix(`/_matrix/client/{version:(api/v1|r0|unstable)}/user_directory/search`)"
234-
- "traefik.http.routers.user_dir.tls=true"
235-
- "traefik.http.routers.user_dir.tls.certresolver=le"
236-
- "traefik.http.routers.user_dir.service=user_dir"
237-
- "traefik.http.services.user_dir.loadbalancer.server.port=8008"
238-
- "traefik.http.services.user_dir.loadbalancer.sticky=true"
239167

240168
db:
241169
<< : *IMAGE_DB_VERSION

0 commit comments

Comments
 (0)