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

Signed-off-by: Sean Quah <seanq@matrix.org>
This commit is contained in:
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 types import TracebackType
from typing import TYPE_CHECKING, Any, Optional, Type from typing import TYPE_CHECKING, Any, Optional, Type
import synapse.logging.context
from synapse.api.errors import CodeMessageException from synapse.api.errors import CodeMessageException
from synapse.metrics.background_process_metrics import run_as_background_process
from synapse.storage import DataStore from synapse.storage import DataStore
from synapse.util import Clock from synapse.util import Clock
@ -265,4 +265,4 @@ class RetryDestinationLimiter:
logger.exception("Failed to store destination_retry_timings") logger.exception("Failed to store destination_retry_timings")
# we deliberately do this in the background. # 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)