Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 9d0cc25

Browse files
committed
Merge pull request #5790 from matrix-org/erikj/groups_request_errors
2 parents ee0bb90 + 0f632f3 commit 9d0cc25

File tree

3 files changed

+61
-32
lines changed

3 files changed

+61
-32
lines changed

changelog.d/5790.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Remove some spurious exceptions from the logs where we failed to talk to a remote server.

synapse/handlers/federation.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,9 @@ def try_backfill(domains):
978978
except NotRetryingDestination as e:
979979
logger.info(str(e))
980980
continue
981+
except RequestSendFailed as e:
982+
logger.info("Falied to get backfill from %s because %s", dom, e)
983+
continue
981984
except FederationDeniedError as e:
982985
logger.info(e)
983986
continue

synapse/handlers/groups_local.py

Lines changed: 57 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,12 @@ def get_group_summary(self, group_id, requester_user_id):
126126
group_id, requester_user_id
127127
)
128128
else:
129-
res = yield self.transport_client.get_group_summary(
130-
get_domain_from_id(group_id), group_id, requester_user_id
131-
)
129+
try:
130+
res = yield self.transport_client.get_group_summary(
131+
get_domain_from_id(group_id), group_id, requester_user_id
132+
)
133+
except RequestSendFailed:
134+
raise SynapseError(502, "Failed to contact group server")
132135

133136
group_server_name = get_domain_from_id(group_id)
134137

@@ -183,9 +186,12 @@ def create_group(self, group_id, user_id, content):
183186

184187
content["user_profile"] = yield self.profile_handler.get_profile(user_id)
185188

186-
res = yield self.transport_client.create_group(
187-
get_domain_from_id(group_id), group_id, user_id, content
188-
)
189+
try:
190+
res = yield self.transport_client.create_group(
191+
get_domain_from_id(group_id), group_id, user_id, content
192+
)
193+
except RequestSendFailed:
194+
raise SynapseError(502, "Failed to contact group server")
189195

190196
remote_attestation = res["attestation"]
191197
yield self.attestations.verify_attestation(
@@ -221,9 +227,12 @@ def get_users_in_group(self, group_id, requester_user_id):
221227

222228
group_server_name = get_domain_from_id(group_id)
223229

224-
res = yield self.transport_client.get_users_in_group(
225-
get_domain_from_id(group_id), group_id, requester_user_id
226-
)
230+
try:
231+
res = yield self.transport_client.get_users_in_group(
232+
get_domain_from_id(group_id), group_id, requester_user_id
233+
)
234+
except RequestSendFailed:
235+
raise SynapseError(502, "Failed to contact group server")
227236

228237
chunk = res["chunk"]
229238
valid_entries = []
@@ -258,9 +267,12 @@ def join_group(self, group_id, user_id, content):
258267
local_attestation = self.attestations.create_attestation(group_id, user_id)
259268
content["attestation"] = local_attestation
260269

261-
res = yield self.transport_client.join_group(
262-
get_domain_from_id(group_id), group_id, user_id, content
263-
)
270+
try:
271+
res = yield self.transport_client.join_group(
272+
get_domain_from_id(group_id), group_id, user_id, content
273+
)
274+
except RequestSendFailed:
275+
raise SynapseError(502, "Failed to contact group server")
264276

265277
remote_attestation = res["attestation"]
266278

@@ -299,9 +311,12 @@ def accept_invite(self, group_id, user_id, content):
299311
local_attestation = self.attestations.create_attestation(group_id, user_id)
300312
content["attestation"] = local_attestation
301313

302-
res = yield self.transport_client.accept_group_invite(
303-
get_domain_from_id(group_id), group_id, user_id, content
304-
)
314+
try:
315+
res = yield self.transport_client.accept_group_invite(
316+
get_domain_from_id(group_id), group_id, user_id, content
317+
)
318+
except RequestSendFailed:
319+
raise SynapseError(502, "Failed to contact group server")
305320

306321
remote_attestation = res["attestation"]
307322

@@ -338,13 +353,16 @@ def invite(self, group_id, user_id, requester_user_id, config):
338353
group_id, user_id, requester_user_id, content
339354
)
340355
else:
341-
res = yield self.transport_client.invite_to_group(
342-
get_domain_from_id(group_id),
343-
group_id,
344-
user_id,
345-
requester_user_id,
346-
content,
347-
)
356+
try:
357+
res = yield self.transport_client.invite_to_group(
358+
get_domain_from_id(group_id),
359+
group_id,
360+
user_id,
361+
requester_user_id,
362+
content,
363+
)
364+
except RequestSendFailed:
365+
raise SynapseError(502, "Failed to contact group server")
348366

349367
return res
350368

@@ -398,13 +416,16 @@ def remove_user_from_group(self, group_id, user_id, requester_user_id, content):
398416
)
399417
else:
400418
content["requester_user_id"] = requester_user_id
401-
res = yield self.transport_client.remove_user_from_group(
402-
get_domain_from_id(group_id),
403-
group_id,
404-
requester_user_id,
405-
user_id,
406-
content,
407-
)
419+
try:
420+
res = yield self.transport_client.remove_user_from_group(
421+
get_domain_from_id(group_id),
422+
group_id,
423+
requester_user_id,
424+
user_id,
425+
content,
426+
)
427+
except RequestSendFailed:
428+
raise SynapseError(502, "Failed to contact group server")
408429

409430
return res
410431

@@ -435,9 +456,13 @@ def get_publicised_groups_for_user(self, user_id):
435456

436457
return {"groups": result}
437458
else:
438-
bulk_result = yield self.transport_client.bulk_get_publicised_groups(
439-
get_domain_from_id(user_id), [user_id]
440-
)
459+
try:
460+
bulk_result = yield self.transport_client.bulk_get_publicised_groups(
461+
get_domain_from_id(user_id), [user_id]
462+
)
463+
except RequestSendFailed:
464+
raise SynapseError(502, "Failed to contact group server")
465+
441466
result = bulk_result.get("users", {}).get(user_id)
442467
# TODO: Verify attestations
443468
return {"groups": result}

0 commit comments

Comments
 (0)