[ https://issues.apache.org/jira/browse/HDFS-12696?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16235752#comment-16235752 ]
Nanda kumar commented on HDFS-12696: ------------------------------------ *Code flow* {noformat} DataNode#main secureMain createDataNode instantinateDataNode --> This starts all BPOfferServices in blockPoolManager (below flow) - blockPoolManager.startAll is called runDatanodeDaemon blockPoolManager.startAll() --> Calling it again here instantinateDataNode makeInstance DataNode.startDatanode blockPoolManager = new BlockPoolManager() blockPoolManager.refreshNamenodes blockPoolManager.doRefreshNamenodes blockPoolManager.createBPOS BPOfferService#Constructor blockPoolManager.startAll() --> Calling startAll for the first time {noformat} > BlockPoolManager#startAll is called twice during DataNode startup > ----------------------------------------------------------------- > > Key: HDFS-12696 > URL: https://issues.apache.org/jira/browse/HDFS-12696 > Project: Hadoop HDFS > Issue Type: Bug > Components: datanode > Reporter: Nanda kumar > Assignee: Nanda kumar > Priority: Minor > Attachments: HDFS-12696.000.patch > > > As part of Datanode startup, {{BlockPoolManager#startAll}} which starts all > {{BPServiceActor}} threads is called twice. > First in {{Datanode}} constructor, {{Datanode#startDataNode}} is called which > does {{BlockPoolManager#refreshNamenodes}} inside which we do {{startAll}} > And as part of {{Datanode#runDatanodeDaemon}} we again call > {{BlockPoolManager#startAll}}. > Since {{BPServiceActor}} checks if {{bpThread}} is already running, before > starting them again, the second call is ignored. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org