[ 
https://issues.apache.org/jira/browse/HBASE-19954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-19954:
---------------------------
    Description: 
TestBlockReorder fails against hadoop 3 due to the following error:
{code}
2018-02-08 17:22:23,389 ERROR [RS:0;cn012:38253] 
helpers.MarkerIgnoringBase(159): ***** ABORTING region server 
cn012.l42scl.hortonworks.com,38253,1518110542271: Unhandled: Failed suppression 
of fs shutdown hook: 
org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@6a0c707e *****
java.lang.RuntimeException: Failed suppression of fs shutdown hook: 
org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@6a0c707e
  at 
org.apache.hadoop.hbase.regionserver.ShutdownHook.suppressHdfsShutdownHook(ShutdownHook.java:207)
  at 
org.apache.hadoop.hbase.regionserver.ShutdownHook.install(ShutdownHook.java:85)
  at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:927)
  at 
org.apache.hadoop.hbase.MiniHBaseCluster$MiniHBaseClusterRegionServer.runRegionServer(MiniHBaseCluster.java:187)
{code}
This is because when MiniDFSCluster is stopped in first subtest, hadoop 3 
clears ShutdownHook.
When the 2nd test starts, suppression of ShutdownHook fails.

  was:
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).


> Separate TestBlockReorder into individual tests to avoid ShutdownHook 
> suppression error against hadoop3 
> --------------------------------------------------------------------------------------------------------
>
>                 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, 19954.v2.txt, 19954.v3.txt, 19954.v4.txt
>
>
> TestBlockReorder fails against hadoop 3 due to the following error:
> {code}
> 2018-02-08 17:22:23,389 ERROR [RS:0;cn012:38253] 
> helpers.MarkerIgnoringBase(159): ***** ABORTING region server 
> cn012.l42scl.hortonworks.com,38253,1518110542271: Unhandled: Failed 
> suppression of fs shutdown hook: 
> org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@6a0c707e *****
> java.lang.RuntimeException: Failed suppression of fs shutdown hook: 
> org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@6a0c707e
>   at 
> org.apache.hadoop.hbase.regionserver.ShutdownHook.suppressHdfsShutdownHook(ShutdownHook.java:207)
>   at 
> org.apache.hadoop.hbase.regionserver.ShutdownHook.install(ShutdownHook.java:85)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:927)
>   at 
> org.apache.hadoop.hbase.MiniHBaseCluster$MiniHBaseClusterRegionServer.runRegionServer(MiniHBaseCluster.java:187)
> {code}
> This is because when MiniDFSCluster is stopped in first subtest, hadoop 3 
> clears ShutdownHook.
> When the 2nd test starts, suppression of ShutdownHook fails.



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

Reply via email to