[
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: [email protected]
For additional commands, e-mail: [email protected]