uber / cadence-java-client

Java framework for Cadence Workflow Service
https://cadenceworkflow.io
Other
142 stars 106 forks source link

Memory Leak in Sticky Cache Pollers when tracing is enabled #895

Closed shijiesheng closed 2 months ago

shijiesheng commented 4 months ago

Why

Bug is introduced in https://github.com/uber/cadence-java-client/pull/876

Symptom

Memory leak happens on every poller when tracing is enabled. Span objects grows since scope is not closed correctly.

Mitigation

Disable the tracer on both clients and workers.

// in workerOptions don't set tracer
WorkerOptions.newBuilder()
//     .setTracer()
       .build()

// in clientOptions don't set tracer
ClientOptions.newBuilder()
//     .setTracer()
       .build()
shijiesheng commented 4 months ago

Should be fixed by https://github.com/uber/cadence-java-client/pull/896