[ https://issues.apache.org/jira/browse/HIVE-13093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15153828#comment-15153828 ]
Thejas M Nair commented on HIVE-13093: -------------------------------------- The jstack of such a metastore is like this. Note the thread with HiveMetaStore.java in stack trace - {code} "Attach Listener" #18 daemon prio=9 os_prio=0 tid=0x00007fa749d4f000 nid=0x7e7a runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "DestroyJavaVM" #17 prio=5 os_prio=0 tid=0x00007fa74801b000 nid=0x7c1c waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "org.apache.hadoop.hive.common.JvmPauseMonitor$Monitor@77c43175" #16 daemon prio=5 os_prio=0 tid=0x00007fa73400e000 nid=0x7c3f waiting on condition [0x00007fa732d7b000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at org.apache.hadoop.hive.common.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:180) at java.lang.Thread.run(Thread.java:745) "Thread-5" #15 prio=5 os_prio=0 tid=0x00007fa749e9d800 nid=0x7c3e waiting on condition [0x00007fa73328f000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000de718150> (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 org.apache.hadoop.hive.metastore.HiveMetaStore$5.run(HiveMetaStore.java:6155) "AsyncLogger-1" #9 daemon prio=5 os_prio=0 tid=0x00007fa749c77000 nid=0x7c27 waiting on condition [0x00007fa7335ee000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000de7896e8> (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:45) at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:55) at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:123) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "Service Thread" #7 daemon prio=9 os_prio=0 tid=0x00007fa7480ce000 nid=0x7c25 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C1 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fa7480be800 nid=0x7c24 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fa7480bb800 nid=0x7c23 waiting on condition [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007fa7480b9000 nid=0x7c22 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE "Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fa74808c000 nid=0x7c21 in Object.wait() [0x00007fa74caea000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x00000000dec7a100> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fa74808a000 nid=0x7c20 in Object.wait() [0x00007fa74cbeb000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157) - locked <0x00000000dec7a140> (a java.lang.ref.Reference$Lock) "VM Thread" os_prio=0 tid=0x00007fa748084800 nid=0x7c1f runnable "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fa748030000 nid=0x7c1d runnable "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007fa748032000 nid=0x7c1e runnable "VM Periodic Task Thread" os_prio=0 tid=0x00007fa7480d0800 nid=0x7c26 waiting on condition JNI global references: 314 {code} > hive metastore does not exit on start failure > --------------------------------------------- > > Key: HIVE-13093 > URL: https://issues.apache.org/jira/browse/HIVE-13093 > Project: Hive > Issue Type: Bug > Components: Metastore > Affects Versions: 0.13.1, 1.0.0, 1.1.1, 1.2.1 > Reporter: Thejas M Nair > Assignee: Thejas M Nair > > If metastore startup fails for some reason, such as not being able to access > the database, it fails to exit. Instead the process continues to be up in a > bad state. > This is happening because of a non daemon thread. -- This message was sent by Atlassian JIRA (v6.3.4#6332)