[
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)