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

Vinayakumar B commented on HDFS-6348:
-------------------------------------

bq. Since it involves System.exit(), I couldn't manage to add a testcase.
In MiniDFSCluster tests, {{System.exit()}} is disabled. Check {{ExitUtil}}.

bq. Secondary namenode - RMI Thread prevents JVM from exiting after main() 
completes
By default, hadoop doesnt ship with jmx enabled. Title and description are 
little confusing when compared with the patch fix. It could be made simple like 
 'SecondaryNameNode not terminating properly on runtime exceptions'

Coming to patch, instead of adding one more try-catch block, can handle 
{{throwable}} instead of {{IOException}} in existing block itself?

> Secondary namenode -  RMI Thread prevents JVM from exiting after main() 
> completes
> ---------------------------------------------------------------------------------
>
>                 Key: HDFS-6348
>                 URL: https://issues.apache.org/jira/browse/HDFS-6348
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.3.0
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>              Labels: BB2015-05-RFC
>         Attachments: HDFS-6348-003.patch, HDFS-6348.patch, HDFS-6348.patch, 
> secondaryNN_threaddump_after_exit.log
>
>
> Secondary Namenode is not exiting when there is RuntimeException occurred 
> during startup.
> Say I configured wrong configuration, due to that validation failed and 
> thrown RuntimeException as shown below. But when I check the environment 
> SecondaryNamenode process is alive. When analysed, RMI Thread is still alive, 
> since it is not a daemon thread JVM is nit exiting. 
> I'm attaching threaddump to this JIRA for more details about the thread.
> {code}
> java.lang.RuntimeException: java.lang.RuntimeException: 
> java.lang.ClassNotFoundException: Class 
> com.huawei.hadoop.hdfs.server.blockmanagement.MyBlockPlacementPolicy not found
>       at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1900)
>       at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy.getInstance(BlockPlacementPolicy.java:199)
>       at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.<init>(BlockManager.java:256)
>       at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:635)
>       at 
> org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:260)
>       at 
> org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:205)
>       at 
> org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:695)
> Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: 
> Class com.huawei.hadoop.hdfs.server.blockmanagement.MyBlockPlacementPolicy 
> not found
>       at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1868)
>       at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1892)
>       ... 6 more
> Caused by: java.lang.ClassNotFoundException: Class 
> com.huawei.hadoop.hdfs.server.blockmanagement.MyBlockPlacementPolicy not found
>       at 
> org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1774)
>       at 
> org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1866)
>       ... 7 more
> 2014-05-07 14:27:04,666 INFO 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Stopping services 
> started for active state
> 2014-05-07 14:27:04,666 INFO 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Stopping services 
> started for standby state
> 2014-05-07 14:31:04,926 INFO 
> org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: STARTUP_MSG: 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to