Austin Stuart Clark
Austin Stuart Clark
Looking at this class, one of the tricky things we need to make sure in order to fix this class is that the thread that created the object and its...
Looking at the code, it appears both **CodedOutputStream** and **ProtoSerializer** use threadlocals without cleanup. Therefore the area of interest is: **Marshaler.writeBinaryTo()**. Once this is called, you have (technically 2) memory...
Here's a way to replace the THREAD_LOCAL_ID_CACHE in ProtoSerializer. Use a "global" ConcurrentHashMap to store id conversions. **Pros**: 1. no threadlocals (avoid class loader memory leaks) therefore does not pollute...
> > I am getting memory leaks at application shutdown (one is a io.netty.util.internal.InternalThreadLocalMap that is tracked in Netty). The other appears below. > > Yes I think this is...
Even if you don't do what I do above (i.e. you only create the exporters once for the entire life-cycle of the application), you may still be at risk of...
It sounds like teh question to ask is: "Is the ThreadPool we are creating re-using existing threads, or is it creating its own brand new threads?". If it's the first...
I am indeed using the batch span processor. When you commit the changes to your main branch, can you comment here? I'll see if patching my local jars with those...
Your analysis sounds right. If you shutdown the top level thing that spawned the threads (ExecutorService, threadpool, etc), and that thing isn't re-using existing threads (such as from an application...
(I've written a long block below of something I thought was causing a leak, but now I am not entirely sure it was a cause for a leak). I am...
random followup: making some changes above, I get fewer class loader leak warnings from tomcat at shutdown, but i still get 1 leak. If I take a heap dump right...