diff options
author | Erik Johnston <erik@matrix.org> | 2021-07-27 18:01:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-27 18:01:04 +0100 |
commit | 5b22d5ee033f2c251bb06d2bd9e0e729df89f90f (patch) | |
tree | dff1690e3b014e604567a3f942f4e120a6ed5d5a | |
parent | allow specifying https:// proxy (#10411) (diff) | |
download | synapse-5b22d5ee033f2c251bb06d2bd9e0e729df89f90f.tar.xz |
Fix `oldest_pdu_in_federation_staging` (#10455)
If the staging area was empty we'd report an age of 51 years, which is not true or helpful.
-rw-r--r-- | changelog.d/10455.bugfix | 1 | ||||
-rw-r--r-- | synapse/storage/databases/main/event_federation.py | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/changelog.d/10455.bugfix b/changelog.d/10455.bugfix new file mode 100644 index 0000000000..23c74a3c89 --- /dev/null +++ b/changelog.d/10455.bugfix @@ -0,0 +1 @@ +Fix `synapse_federation_server_oldest_inbound_pdu_in_staging` Prometheus metric to not report a max age of 51 years when the queue is empty. diff --git a/synapse/storage/databases/main/event_federation.py b/synapse/storage/databases/main/event_federation.py index d39368c20e..f4a00b0736 100644 --- a/synapse/storage/databases/main/event_federation.py +++ b/synapse/storage/databases/main/event_federation.py @@ -1227,12 +1227,15 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore, SQLBas (count,) = txn.fetchone() txn.execute( - "SELECT coalesce(min(received_ts), 0) FROM federation_inbound_events_staging" + "SELECT min(received_ts) FROM federation_inbound_events_staging" ) (received_ts,) = txn.fetchone() - age = self._clock.time_msec() - received_ts + # If there is nothing in the staging area default it to 0. + age = 0 + if received_ts is not None: + age = self._clock.time_msec() - received_ts return count, age |