element-hq / element-hq/synapse

Generalize tracking whenever we fail to fetch or process a federated event

Open
#13,700 0 comments 0 reactions 0 assignees View on GitHub
A-Federation A-Messages-Endpoint T-Enhancement T-Task
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#13700](https://github.com/matrix-org/synapse/issues/13700).

---

*Follow-up to https://github.com/matrix-org/synapse/issues/13621. As discussed at https://github.com/matrix-org/synapse/pull/13589#discussion_r961064218 and https://github.com/matrix-org/synapse/pull/13589#discussion_r961106420*

---

- [x] Track when we fail to process a pulled event over federation
- Added in https://github.com/matrix-org/synapse/pull/13589
- Additionally https://github.com/matrix-org/synapse/pull/13814
- [ ] ~~Maybe: Track when we ask `/backfill` from a certain event but the `/backfill` response doesn't include it~~
- See https://github.com/matrix-org/synapse/pull/13589#discussion_r961129427
- [x] Track when an event signature check fails (`_check_sigs_and_hash_and_fetch_one`, `Signature on retrieved event was invalid`)
- Tracked by https://github.com/matrix-org/synapse/issues/13676
- Added in https://github.com/matrix-org/synapse/pull/13815
- [ ] Track when we fail to fetch or process `/event/{eventId}`
- [ ] Track when we fail to fetch or process `/event_auth/{roomId}/{eventId}`
- [ ] Track when we fail to fetch or process `/state/{roomId}?event_id=$xxx`
- [ ] Track when we fail to fetch or process `/state_ids/{roomId}?event_id=$xxx`
- [ ] Track when we fail process an event from `/get_missing_events`
- [ ] Can we also consider soft-failed events because of the spam checker?
- See https://github.com/matrix-org/synapse/pull/13588#discussion_r951989868

We will need to add more `record_event_failed_backfill_attempt` calls for the failed to fetch scenarios though.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.