Browse Source

Fix logging context warnings due to common usage metrics setup (#14574)

`setup()` is run under the sentinel context manager, so we wrap the
initial update in a background process. Before this change, Synapse
would log two warnings on startup:
    Starting db txn 'count_daily_users' from sentinel context
    Starting db connection from sentinel context: metrics will be lost

Signed-off-by: Sean Quah <seanq@matrix.org>
Sean Quah 1 year ago
parent
commit
d56f48038a
2 changed files with 4 additions and 1 deletions
  1. 1 0
      changelog.d/14574.bugfix
  2. 3 1
      synapse/metrics/common_usage_metrics.py

+ 1 - 0
changelog.d/14574.bugfix

@@ -0,0 +1 @@
+Fix a bug introduced in Synapse 1.67.0 where two logging context warnings would be logged on startup.

+ 3 - 1
synapse/metrics/common_usage_metrics.py

@@ -54,7 +54,9 @@ class CommonUsageMetricsManager:
 
     async def setup(self) -> None:
         """Keep the gauges for common usage metrics up to date."""
-        await self._update_gauges()
+        run_as_background_process(
+            desc="common_usage_metrics_update_gauges", func=self._update_gauges
+        )
         self._clock.looping_call(
             run_as_background_process,
             5 * 60 * 1000,