[
https://issues.apache.org/jira/browse/HDFS-4426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13560847#comment-13560847
]
Suresh Srinivas commented on HDFS-4426:
---------------------------------------
bq. Just out of curiosity, is there benefit to creating a thread and waiting to
join on it, versus not creating a thread and doing the processing in the main
thread?
Typically services get started as Threads by the main. In order to use the the
main thread, the run loop from the service needs to be moved into main. That
requires changing a service or copying code from a service. That is why
typically main starts all the services and waits till one/all of critical
service ends using join().
> Secondary namenode shuts down immediately after startup
> -------------------------------------------------------
>
> Key: HDFS-4426
> URL: https://issues.apache.org/jira/browse/HDFS-4426
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.0.3-alpha, 0.23.6
> Reporter: Jason Lowe
> Assignee: Arpit Agarwal
> Priority: Blocker
> Attachments: HDFS-4426.1.patch, HDFS-4426.patch, HDFS-4426.patch,
> HDFS-4426.patch
>
>
> After HADOOP-9181 went in, the secondary namenode immediately shuts down
> after it is started. From the startup logs:
> {noformat}
> 2013-01-22 19:54:28,826 INFO namenode.SecondaryNameNode
> (SecondaryNameNode.java:initialize(299)) - Checkpoint Period :3600 secs (60
> min)
> 2013-01-22 19:54:28,826 INFO namenode.SecondaryNameNode
> (SecondaryNameNode.java:initialize(301)) - Log Size Trigger :40000 txns
> 2013-01-22 19:54:28,845 INFO namenode.SecondaryNameNode
> (StringUtils.java:run(616)) - SHUTDOWN_MSG:
> /************************************************************
> SHUTDOWN_MSG: Shutting down SecondaryNameNode at xx
> ************************************************************/
> {noformat}
> I looked into the issue, and it's shutting down because
> SecondaryNameNode.main starts a bunch of daemon threads then returns. With
> nothing but daemon threads remaining, the JVM sees no reason to keep going
> and proceeds to shutdown. Apparently we were implicitly relying on the fact
> that the HttpServer QueuedThreadPool threads were not daemon threads to keep
> the secondary namenode process up.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira