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]