hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hanisha Koneru (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-11932) BPServiceActor thread name is not correctly set
Date Tue, 06 Jun 2017 18:43:18 GMT

    [ https://issues.apache.org/jira/browse/HDFS-11932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039445#comment-16039445

Hanisha Koneru commented on HDFS-11932:

The thread name is already being set with NamespaceInfo included in _BPServiceActor#connectToNNAndHandshake_.
     /* set thread name again to include NamespaceInfo when it's available. */
    this.bpThread.setName(formatThreadName("heartbeating", nnAddr));
So setting it again after this function is called would be redundant.
              formatThreadName("heartbeating", nnAddr));
We can just not set the thread name during initialization to avoid the warning message.

> BPServiceActor thread name is not correctly set
> -----------------------------------------------
>                 Key: HDFS-11932
>                 URL: https://issues.apache.org/jira/browse/HDFS-11932
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs
>            Reporter: Chen Liang
>            Assignee: Chen Liang
>         Attachments: HDFS-11932.001.patch
> When running unit tests (e.g. TestJMXGet), we often get this following exception, although
the tests still passed:
> {code}
> WARN  datanode.DataNode (BPOfferService.java:getBlockPoolId(192)) - Block pool ID needed,
but service not yet registered with NN
> java.lang.Exception: trace 
> at org.apache.hadoop.hdfs.server.datanode.BPOfferService.getBlockPoolId(BPOfferService.java:192)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.formatThreadName(BPServiceActor.java:556)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.start(BPServiceActor.java:544) at

> ...
> {code}
> It seems that, although this does not affect normal operations, this is causing the thread
name of BPServiceActor not correctly set as desired. More specifically,:
> {code}
>  bpThread = new Thread(this, formatThreadName("heartbeating", nnAddr));
>  bpThread.setDaemon(true); // needed for JUnit testing
>  bpThread.start();
> {code}
> The first line tries to call formatThreadName to get format a thread name, and formatThreadName
is reading the value of BPOfferService#bpNSInfo. However this value is set only after the
thread started (the third line above). So we get exception in the first line for reading non-existing

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org

View raw message