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

Commit

Permalink
Fix "Starting metrics collection from sentinel context" errors
Browse files Browse the repository at this point in the history
Fixes #9048
  • Loading branch information
erikjohnston committed Jan 8, 2021
1 parent b530eaa commit 7dadae4
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 21 deletions.
39 changes: 19 additions & 20 deletions synapse/notifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -396,31 +396,30 @@ def on_new_event(
Will wake up all listeners for the given users and rooms.
"""
with PreserveLoggingContext():
with Measure(self.clock, "on_new_event"):
user_streams = set()
with Measure(self.clock, "on_new_event"):
user_streams = set()

for user in users:
user_stream = self.user_to_user_stream.get(str(user))
if user_stream is not None:
user_streams.add(user_stream)
for user in users:
user_stream = self.user_to_user_stream.get(str(user))
if user_stream is not None:
user_streams.add(user_stream)

for room in rooms:
user_streams |= self.room_to_user_streams.get(room, set())
for room in rooms:
user_streams |= self.room_to_user_streams.get(room, set())

time_now_ms = self.clock.time_msec()
for user_stream in user_streams:
try:
user_stream.notify(stream_key, new_token, time_now_ms)
except Exception:
logger.exception("Failed to notify listener")
time_now_ms = self.clock.time_msec()
for user_stream in user_streams:
try:
user_stream.notify(stream_key, new_token, time_now_ms)
except Exception:
logger.exception("Failed to notify listener")

self.notify_replication()
self.notify_replication()

# Notify appservices
self._notify_app_services_ephemeral(
stream_key, new_token, users,
)
# Notify appservices
self._notify_app_services_ephemeral(
stream_key, new_token, users,
)

def on_new_replication_data(self) -> None:
"""Used to inform replication listeners that something has happened
Expand Down
3 changes: 2 additions & 1 deletion synapse/util/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ def __init__(self, clock, name):
curr_context = current_context()
if not curr_context:
logger.warning(
"Starting metrics collection from sentinel context: metrics will be lost"
"Starting metrics collection %r from sentinel context: metrics will be lost",
name,
)
parent_context = None
else:
Expand Down

0 comments on commit 7dadae4

Please sign in to comment.