[ https://issues.apache.org/jira/browse/HDFS-15448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17149053#comment-17149053 ]
jianghua zhu commented on HDFS-15448: ------------------------------------- [~hexiaoqiao] , thank you very much for your suggestions. I understand whether your suggestion is to increase synchronization control in BPServiceActor#start(), for example: void start() { synchronized (this) { if ((bpThread != null) && (bpThread.isAlive())) { //Thread is started already return; } bpThread = new Thread(this); bpThread.setDaemon(true); // needed for JUnit testing bpThread.start(); if (lifelineSender != null) { lifelineSender.start(); } } } > When starting a DataNode, call BlockPoolManager#startAll() twice. > ----------------------------------------------------------------- > > Key: HDFS-15448 > URL: https://issues.apache.org/jira/browse/HDFS-15448 > Project: Hadoop HDFS > Issue Type: Improvement > Affects Versions: 3.1.1 > Reporter: jianghua zhu > Assignee: jianghua zhu > Priority: Major > Attachments: HDFS-15448.001.patch > > > When starting a DataNode, call BlockPoolManager#startAll() twice. > The first call: > BlockPoolManager#doRefreshNamenodes() > private void doRefreshNamenodes( > Map<String, Map<String, InetSocketAddress>> addrMap, > Map<String, Map<String, InetSocketAddress>> lifelineAddrMap) > throws IOException { > ... > startAll(); > ... > } > The second call: > DataNode#runDatanodeDaemon() > public void runDatanodeDaemon() throws IOException { > blockPoolManager.startAll(); > ... > } -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org