Skip to content

Commit c4e28b9

Browse files
author
alrex
authored
Exit the lock before logging (open-telemetry#1317)
1 parent 21c23cb commit c4e28b9

File tree

1 file changed

+8
-4
lines changed
  • opentelemetry-sdk/src/opentelemetry/sdk/trace

1 file changed

+8
-4
lines changed

opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,11 +373,15 @@ def _create_immutable_attributes(attributes):
373373

374374
def _check_span_ended(func):
375375
def wrapper(self, *args, **kwargs):
376+
already_ended = False
376377
with self._lock: # pylint: disable=protected-access
377-
if self.end_time is not None:
378-
logger.warning("Calling %s on an ended span.", func.__name__)
379-
return
380-
func(self, *args, **kwargs)
378+
if self.end_time is None:
379+
func(self, *args, **kwargs)
380+
else:
381+
already_ended = True
382+
383+
if already_ended:
384+
logger.warning("Tried calling %s on an ended span.", func.__name__)
381385

382386
return wrapper
383387

0 commit comments

Comments
 (0)