Rushabh Shah created HBASE-26480: ------------------------------------ Summary: Close NamedQueueRecorder to allow HMaster/RS to shutdown gracefully Key: HBASE-26480 URL: https://issues.apache.org/jira/browse/HBASE-26480 Project: HBase Issue Type: Bug Affects Versions: 1.7.0 Reporter: Rushabh Shah Assignee: Rushabh Shah
Saw one case in our production cluster where RS was not exiting. Saw this non-daemon thread in hung RS stack trace: {noformat} "main.slowlog.append-pool-pool1-t1" #26 prio=5 os_prio=31 tid=0x00007faf23bf7800 nid=0x6d07 waiting on condition [0x0000700003f4d000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000004039e3840> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:47) at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56) at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:159) at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) {noformat} This is coming from [NamedQueueRecorder|https://github.com/apache/hbase/blob/branch-1/hbase-server/src/main/java/org/apache/hadoop/hbase/namequeues/NamedQueueRecorder.java#L65] implementation. This bug doesn't exists in branch-2 and master since the Disruptor initialization has changed and we set daemon=true also. See [this code|https://github.com/apache/hbase/blob/branch-2/hbase-server/src/main/java/org/apache/hadoop/hbase/namequeues/NamedQueueRecorder.java#L68] FYI [~vjasani] [~zhangduo] -- This message was sent by Atlassian Jira (v8.20.1#820001)