You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Daniel Templeton (JIRA)" <ji...@apache.org> on 2015/08/26 22:17:46 UTC
[jira] [Commented] (HDFS-2896) The 2NN incorrectly daemonizes
[ https://issues.apache.org/jira/browse/HDFS-2896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14715439#comment-14715439 ]
Daniel Templeton commented on HDFS-2896:
----------------------------------------
The comment in the 2NN that the checkpoint thread should never end has been removed, presumably as it's no longer relevant. The checkpoint thread is still a daemon thread, but since the main thread joins on the checkpoint thread, I don't see where it impacts anything. The 2NN appears to now be consistent with the NN: in both, the main method launches a thread and then joins it.
Sounds like this JIRA was a causality of HDFS-4426. Anyone against closing it?
> The 2NN incorrectly daemonizes
> ------------------------------
>
> Key: HDFS-2896
> URL: https://issues.apache.org/jira/browse/HDFS-2896
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 0.23.0, 2.0.0-alpha
> Reporter: Eli Collins
> Labels: newbie
>
> The SecondaryNameNode (and Checkpointer) confuse o.a.h.u.Daemon with a Unix daemon. Per below it intends to create a thread that never ends, but o.a.h.u.Daemon just marks a thread with Java's Thread#setDaemon which means Java will terminate the thread when there are no more non-daemon user threads running
> {code}
> // Create a never ending deamon
> Daemon checkpointThread = new Daemon(secondary);
> {code}
> Perhaps they thought they were using commons Daemon. We of course don't want the 2NN to exit unless it exits itself or is stopped explicitly. Currently it won't do this because the main thread is not marked as a daemon thread. In any case, let's make the 2NN consistent with the NN in this regard (exit when the RPC thread exits).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)