sorry ,i don't know ,you can debug this class->SerializerFactory ,you will find 
 thread executed under different versions of dubbo are different ,in dubbo2.5.6 
,dubbo will create a IO work thread to load class ,it use forkjninthread's 
contextclassload,but ,in dubbo2.5.10 dubbo will use a nettyClientThread,dubbo 
didn't solve the problem,it just use different thread. but it's not important
so The heart of the problem is this forkjoinpool , you should avoid use 
parallelStream ,It has a lot of problems.
The default thread pool does not change Thread.contextClassLoader to the system 
class loader. When ForkJoinPool.commonPool is used in a multi-class loader 
environment (e.g. a JavaEE container) this causes references to be retained to 
the class loader associated with the code that first uses the pool. This is 
highly likely to cause a memory leak.
The InnocuousForkJoinWorkerThread does not modify Thread.contextClassLoader so 
undesirable class loader references are retained even when using the 
InnocuousForkJoinWorkerThreadFactory

[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/2165 ]
This message was relayed via gitbox.apache.org for 
[email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to