Fix `RetryDestinationLimiter` re-starting finished log contexts (#12803)

Signed-off-by: Sean Quah <seanq@matrix.org>
pull/12805/head
Sean Quah 2022-05-19 20:17:10 +01:00 committed by GitHub
parent 96df31239c
commit 2be5a2b07b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 2 deletions

1
changelog.d/12803.bugfix Normal file
View File

@ -0,0 +1 @@
Fix a long-standing bug where finished log contexts would be re-started when failing to contact remote homeservers.

View File

@ -16,8 +16,8 @@ import random
from types import TracebackType
from typing import TYPE_CHECKING, Any, Optional, Type
import synapse.logging.context
from synapse.api.errors import CodeMessageException
from synapse.metrics.background_process_metrics import run_as_background_process
from synapse.storage import DataStore
from synapse.util import Clock
@ -265,4 +265,4 @@ class RetryDestinationLimiter:
logger.exception("Failed to store destination_retry_timings")
# we deliberately do this in the background.
synapse.logging.context.run_in_background(store_retry_timings)
run_as_background_process("store_retry_timings", store_retry_timings)