File tree Expand file tree Collapse file tree 2 files changed +15
-7
lines changed
Expand file tree Collapse file tree 2 files changed +15
-7
lines changed Original file line number Diff line number Diff line change @@ -77,14 +77,18 @@ class OpenTelemetryPluginImpl::ClientCallTracer::CallAttemptTracer<
7777 call_attempt_tracer_->parent_ ->arena_
7878 ->template GetContext <grpc_core::Call>()
7979 ->InternalRef (
80- " OpenTelemetryPluginImpl::ClientCallTracer::CallAttemptTracer" );
80+ " OpenTelemetryPluginImpl::ClientCallTracer::CallAttemptTracer::"
81+ " TcpCallTracer" );
8182 }
8283
8384 ~TcpCallTracer () override {
84- call_attempt_tracer_->parent_ ->arena_
85- ->template GetContext <grpc_core::Call>()
86- ->InternalUnref (
87- " OpenTelemetryPluginImpl::ClientCallTracer::CallAttemptTracer" );
85+ auto * arena = call_attempt_tracer_->parent_ ->arena_ ;
86+ // The CallAttemptTracer can be allocated on the arena and hence needs to be
87+ // reset before unreffing the call.
88+ call_attempt_tracer_.reset ();
89+ arena->template GetContext <grpc_core::Call>()->InternalUnref (
90+ " OpenTelemetryPluginImpl::ClientCallTracer::CallAttemptTracer::~"
91+ " TcpCallTracer" );
8892 }
8993
9094 void RecordEvent (grpc_event_engine::experimental::internal::WriteEvent type,
Original file line number Diff line number Diff line change @@ -66,8 +66,12 @@ class OpenTelemetryPluginImpl::ServerCallTracer::TcpCallTracer
6666 }
6767
6868 ~TcpCallTracer () override {
69- server_call_tracer_->arena_ ->GetContext <grpc_core::Call>()->InternalUnref (
70- " OpenTelemetryPluginImpl::ServerCallTracer::TcpCallTracer" );
69+ auto * arena = server_call_tracer_->arena_ ;
70+ // The ServerCallTracer is allocated on the arena and hence needs to be
71+ // reset before unreffing the call.
72+ server_call_tracer_.reset ();
73+ arena->GetContext <grpc_core::Call>()->InternalUnref (
74+ " OpenTelemetryPluginImpl::ServerCallTracer::~TcpCallTracer" );
7175 }
7276
7377 void RecordEvent (grpc_event_engine::experimental::internal::WriteEvent type,
You can’t perform that action at this time.
0 commit comments