ZanderXu commented on PR #3806:
URL: https://github.com/apache/hadoop/pull/3806#issuecomment-1135792522

   `ThreadPoolExecutor executor = new ThreadPoolExecutor(
           CORE_THREADS_PER_VOLUME, maxNumThreadsPerVolume,
           THREADS_KEEP_ALIVE_SECONDS, TimeUnit.SECONDS,
           new LinkedBlockingQueue<Runnable>(), threadFactory);`
   
   The ThreadPoolExecutor used the unbounded LinkedBlockingQueue, so the actual 
thread number should be less than or equal to the corePoolSize.  When NN needs 
one DN to delete a large number of blocks,  this DN will create a large number 
of ReplicaFileDeleteTask, and stored all ReplicaFileDeleteTasks in the 
LinkedBlockingQueue of the ThreadPoolExecutor, resulting in increased memory or 
even OOM.
   
   Feel free to correct me if there are mistakes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to