Record any exception when processing a pulled event (#13814)

Part of https://github.com/matrix-org/synapse/issues/13700 and https://github.com/matrix-org/synapse/issues/13356

Follow-up to https://github.com/matrix-org/synapse/pull/13589
This commit is contained in:
Eric Eastwood 2022-09-15 14:40:49 -05:00 committed by GitHub
parent b2b0c85279
commit 140af0cdb6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 1 deletions

View file

@ -1 +1 @@
Keep track when we attempt to backfill an event but fail so we can intelligently back-off in the future. Keep track when we fail to process a pulled event over federation so we can intelligently back-off in the future.

View file

@ -0,0 +1 @@
Keep track when we fail to process a pulled event over federation so we can intelligently back-off in the future.

View file

@ -866,6 +866,11 @@ class FederationEventHandler:
event.room_id, event_id, str(err) event.room_id, event_id, str(err)
) )
return return
except Exception as exc:
await self._store.record_event_failed_pull_attempt(
event.room_id, event_id, str(exc)
)
raise exc
try: try:
try: try:
@ -908,6 +913,11 @@ class FederationEventHandler:
logger.warning("Pulled event %s failed history check.", event_id) logger.warning("Pulled event %s failed history check.", event_id)
else: else:
raise raise
except Exception as exc:
await self._store.record_event_failed_pull_attempt(
event.room_id, event_id, str(exc)
)
raise exc
@trace @trace
async def _compute_event_context_with_maybe_missing_prevs( async def _compute_event_context_with_maybe_missing_prevs(