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

Ted Yu commented on HBASE-19954:
--------------------------------

Testing block reorder is orthogonal to shutdown hook installation.
When code for subtests (not just TestBlockReorder) is put into one subtest, it 
deviates from the original intent of the tests.

ShutdownHook.install() is static. So more refactoring is needed for unit tests 
to override.

> ShutdownHook should check whether shutdown hook is tracked by 
> ShutdownHookManager
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-19954
>                 URL: https://issues.apache.org/jira/browse/HBASE-19954
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Major
>             Fix For: 2.0.0-beta-2
>
>         Attachments: 19954.v1.txt
>
>
> Currently ShutdownHook#suppressHdfsShutdownHook() does the following:
> {code}
>       synchronized (fsShutdownHooks) {
>         boolean isFSCacheDisabled = 
> fs.getConf().getBoolean("fs.hdfs.impl.disable.cache", false);
>         if (!isFSCacheDisabled && 
> !fsShutdownHooks.containsKey(hdfsClientFinalizer)
>             && !ShutdownHookManager.deleteShutdownHook(hdfsClientFinalizer)) {
> {code}
> There is no check that ShutdownHookManager still tracks the shutdown hook, 
> leading to potential RuntimeException (as can be observed in hadoop3 Jenkins 
> job).



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

Reply via email to