forked from MirrorHub/synapse
Fix "'NoneType' has no attribute start|stop" logcontext errors (#7181)
Fixes #7179.
This commit is contained in:
parent
fe1580bfd9
commit
60adcbed91
3 changed files with 12 additions and 7 deletions
1
changelog.d/7181.misc
Normal file
1
changelog.d/7181.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some LoggingContext code.
|
|
@ -193,6 +193,12 @@ class SynapseRequest(Request):
|
|||
self.finish_time = time.time()
|
||||
Request.connectionLost(self, reason)
|
||||
|
||||
if self.logcontext is None:
|
||||
logger.info(
|
||||
"Connection from %s lost before request headers were read", self.client
|
||||
)
|
||||
return
|
||||
|
||||
# we only get here if the connection to the client drops before we send
|
||||
# the response.
|
||||
#
|
||||
|
@ -236,13 +242,6 @@ class SynapseRequest(Request):
|
|||
def _finished_processing(self):
|
||||
"""Log the completion of this request and update the metrics
|
||||
"""
|
||||
|
||||
if self.logcontext is None:
|
||||
# this can happen if the connection closed before we read the
|
||||
# headers (so render was never called). In that case we'll already
|
||||
# have logged a warning, so just bail out.
|
||||
return
|
||||
|
||||
usage = self.logcontext.get_resource_usage()
|
||||
|
||||
if self._processing_finished_time is None:
|
||||
|
|
|
@ -539,6 +539,11 @@ def set_current_context(context: LoggingContextOrSentinel) -> LoggingContextOrSe
|
|||
Returns:
|
||||
The context that was previously active
|
||||
"""
|
||||
# everything blows up if we allow current_context to be set to None, so sanity-check
|
||||
# that now.
|
||||
if context is None:
|
||||
raise TypeError("'context' argument may not be None")
|
||||
|
||||
current = current_context()
|
||||
|
||||
if current is not context:
|
||||
|
|
Loading…
Reference in a new issue