[ https://issues.apache.org/jira/browse/HBASE-21932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guanghao Zhang updated HBASE-21932: ----------------------------------- Attachment: HBASE-21932.master.001.patch > Use Runtime.getRuntime().halt to terminate regionserver when abort timeout > --------------------------------------------------------------------------- > > Key: HBASE-21932 > URL: https://issues.apache.org/jira/browse/HBASE-21932 > Project: HBase > Issue Type: Bug > Reporter: Guanghao Zhang > Priority: Major > Attachments: HBASE-21932.master.001.patch > > > Find one case when run ITBLL. And the regionserver hang when abort as need to > waitAllRegionClose. But System.exit need to run shutdown hook. And the hook > can't finished as the RS thread is still alive. So use > Runtime.getRuntime().halt to terminate regionserver and this method will not > run any shutdown hook. > > Stack trace of RegionServer > {code:java} > "regionserver/c4-hadoop-tst-st27:29100" #29 daemon prio=5 os_prio=0 > tid=0x00007f03d6066670 nid=0x1afe7 waiting on condition [0x00007eff7ce4e000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.sleep(HRegionServer.java:1453) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.waitOnAllRegionsToClose(HRegionServer.java:1439) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:1133) > at java.lang.Thread.run(Thread.java:745) > "Thread-10" #68 prio=5 os_prio=0 tid=0x00007f02bc7bbeb0 nid=0x141d3 in > Object.wait() [0x00007eff486e4000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > at java.lang.Thread.join(Thread.java:1249) > - locked <0x00000005c02da008> (a java.lang.Thread) > at org.apache.hadoop.hbase.util.Threads.shutdown(Threads.java:113) > at org.apache.hadoop.hbase.util.Threads.shutdown(Threads.java:101) > at > org.apache.hadoop.hbase.regionserver.ShutdownHook$ShutdownHookThread.run(ShutdownHook.java:116) > at > org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54) > "Abort regionserver monitor" #26361 daemon prio=5 os_prio=0 > tid=0x00007f00605a43d0 nid=0x1111e in Object.wait() [0x00007eff48a6a000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > at java.lang.Thread.join(Thread.java:1249) > - locked <0x00000005c0b55c80> (a org.apache.hadoop.util.ShutdownHookManager$1) > at java.lang.Thread.join(Thread.java:1323) > at > java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106) > at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46) > at java.lang.Shutdown.runHooks(Shutdown.java:123) > at java.lang.Shutdown.sequence(Shutdown.java:167) > at java.lang.Shutdown.exit(Shutdown.java:212) > - locked <0x00000005c00451b0> (a java.lang.Class for java.lang.Shutdown) > at java.lang.Runtime.exit(Runtime.java:109) > at java.lang.System.exit(System.java:971) > at > org.apache.hadoop.hbase.regionserver.HRegionServer$SystemExitWhenAbortTimeout.run(HRegionServer.java:3792) > at java.util.TimerThread.mainLoop(Timer.java:555) > at java.util.TimerThread.run(Timer.java:505) > "main" #1 prio=5 os_prio=0 tid=0x00007f03d40110f0 nid=0x1ac78 in > Object.wait() [0x00007f03d813a000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <0x00000005c02da008> (a java.lang.Thread) > at java.lang.Thread.join(Thread.java:1249) > - locked <0x00000005c02da008> (a java.lang.Thread) > at java.lang.Thread.join(Thread.java:1323) > at org.apache.hadoop.hbase.util.HasThread.join(HasThread.java:92) > at > org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:65) > at > org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:87) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) > at > org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:3044) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)