renx created IGNITE-10858: ----------------------------- Summary: Memory can not be timely recovery when executing the ignite service with thread pool Key: IGNITE-10858 URL: https://issues.apache.org/jira/browse/IGNITE-10858 Project: Ignite Issue Type: Bug Components: binary Affects Versions: 2.7 Reporter: renx Fix For: 2.8
我将Ignite Client集成至J2EE中,HttpRequest处理线程中调用Ignite Service,参数序列化后比较大(大概100MB),通过观察JVM console发现内存占用出现了异常,通过jvm dump,发现是ThreadLocal导致OptimizedObjectStreamRegistry.StreamHolder内存泄漏,可以通过如下修改解决。 I integrate IgniteClient into J2EE. In the HTTP-Request thread calls Ignite Service which the parameter's serialization is larger (about 100MB). By observing JVM console, I find that the memory occupancy is very bad. Through JVM dump, I find that ThreadLocal causes OptimizedObjectStreamRegistry.StreamHolder memory leak, which can be solved by the following modifications. org.apache.ignite.internal.util.io.GridUnsafeDataOutput#reset: public void reset() { off = 0; out = null; this.bytes = new byte[0]; this.maxOff = 0; this.lastCheck = U.currentTimeMillis(); } -- This message was sent by Atlassian JIRA (v7.6.3#76005)