lfxy opened a new pull request, #7862:
URL: https://github.com/apache/hadoop/pull/7862

   In our cluster, each namespace has four NameNodes: one active, one standby, 
and two observers. When the standby NameNode performs a checkpoint, it transfer 
the fsimage to the other three NameNodes. However, we found that these transfer 
are performed serially.
   The reason is that the corePoolSize in ThreadPoolExecutor is 0, and the 
transfer task does not fill the LinkedBlockingQueue, resulting in only one 
thread transfer the fsimage at a time. This greatly increases the checkpoint 
time.
   ` ExecutorService executor = new ThreadPoolExecutor(0, 
activeNNAddresses.size(), 100,
           TimeUnit.MILLISECONDS, new 
LinkedBlockingQueue<Runnable>(activeNNAddresses.size()),
           uploadThreadFactory); `


-- 
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: common-issues-unsubscr...@hadoop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to