From 8ad3c33acab511f90c8c1e429010c354be0a8f4b Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Thu, 12 Oct 2023 11:20:25 +0200 Subject: [PATCH] fix race condition Signed-off-by: Christian Richter --- changelog/unreleased/fix-race-condition.md | 6 ++++++ pkg/trace/trace.go | 2 ++ 2 files changed, 8 insertions(+) create mode 100644 changelog/unreleased/fix-race-condition.md diff --git a/changelog/unreleased/fix-race-condition.md b/changelog/unreleased/fix-race-condition.md new file mode 100644 index 0000000000..cbae3af6b1 --- /dev/null +++ b/changelog/unreleased/fix-race-condition.md @@ -0,0 +1,6 @@ +Bugfix: Fix race condition + +We have fixed a race condition when setting the default tracing provider. + +https://github.com/cs3org/reva/pull/4250 +https://github.com/owncloud/ocis/issues/4088 \ No newline at end of file diff --git a/pkg/trace/trace.go b/pkg/trace/trace.go index e3af4e2f34..b613b23a68 100644 --- a/pkg/trace/trace.go +++ b/pkg/trace/trace.go @@ -85,6 +85,8 @@ func NewTracerProvider(opts ...Option) trace.TracerProvider { // SetDefaultTracerProvider sets the default trace provider func SetDefaultTracerProvider(tp trace.TracerProvider) { otel.SetTracerProvider(tp) + defaultProvider.mutex.Lock() + defer defaultProvider.mutex.Unlock() defaultProvider.initialized = true }