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

Hudson commented on HDFS-11932:
-------------------------------

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #14057 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/14057/])
HDFS-11932. BPServiceActor thread name is not correctly set. Contributed (xyao: 
rev df7d952f12da040275035dc0e060817bf2bce4a8)
* (edit) 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPOfferService.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java


> 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
>            Priority: Major
>             Fix For: 2.9.0, 3.0.0-alpha4, 2.8.2
>
>         Attachments: HDFS-11932.001.patch, HDFS-11932.002.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 value.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to