[ https://issues.apache.org/jira/browse/HIVE-18303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16296568#comment-16296568 ]
J.P Feng edited comment on HIVE-18303 at 12/19/17 1:22 PM: ----------------------------------------------------------- even after the hook is finished, this error still appears, and ctrl+c will not effect: 2017-12-19T20:38:30,485 ERROR [Thread-7] ZooKeeperHiveLockManager: Failed to release ZooKeeper lock: java.lang.IllegalStateException: instance must be started before calling this method at com.google.common.base.Preconditions.checkState(Preconditions.java:149) at org.apache.curator.framework.imps.CuratorFrameworkImpl.delete(CuratorFrameworkImpl.java:344) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.unlockPrimitive(ZooKeeperHiveLockManager.java:496) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.unlockWithRetry(ZooKeeperHiveLockManager.java:474) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.unlock(ZooKeeperHiveLockManager.java:462) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.releaseLocks(ZooKeeperHiveLockManager.java:224) at org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager.releaseLocks(DummyTxnManager.java:188) at org.apache.hadoop.hive.ql.Driver.releaseLocksAndCommitOrRollback(Driver.java:1138) at org.apache.hadoop.hive.ql.Driver.access$000(Driver.java:126) at org.apache.hadoop.hive.ql.Driver$2.run(Driver.java:425) at org.apache.hive.common.util.ShutdownHookManager$1.run(ShutdownHookManager.java:63) was (Author: snodawn): even after the hook is finished, this error still appears, and ctrl+c will not effect: 2017-12-19T17:52:07,874 ERROR [main] ZooKeeperHiveLockManager: Failed to release ZooKeeper lock: java.lang.IllegalStateException: instance must be started before calling this method at com.google.common.base.Preconditions.checkState(Preconditions.java:149) at org.apache.curator.framework.imps.CuratorFrameworkImpl.delete(CuratorFrameworkImpl.java:344) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.unlockPrimitive(ZooKeeperHiveLockManager.java:496) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.unlockWithRetry(ZooKeeperHiveLockManager.java:474) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.unlock(ZooKeeperHiveLockManager.java:462) at org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager.releaseLocks(ZooKeeperHiveLockManager.java:224) at org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager.releaseLocks(DummyTxnManager.java:188) at org.apache.hadoop.hive.ql.Driver.releaseLocksAndCommitOrRollback(Driver.java:1138) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1466) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1174) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1163) at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.main(RunJar.java:212) > ZooKeeperHiveLockManager should close after lock release in > releaseLocksAndCommitOrRollback > ------------------------------------------------------------------------------------------- > > Key: HIVE-18303 > URL: https://issues.apache.org/jira/browse/HIVE-18303 > Project: Hive > Issue Type: Bug > Components: Hive > Affects Versions: 2.1.1, 2.2.0 > Environment: jdk 1.7, centos > Reporter: J.P Feng > > i found exception : > ZooKeeperHiveLockManager: Failed to release ZooKeeper lock: > java.lang.IllegalStateException: instance must be started before calling this > method > because in ShutdownHookManager, priority of > CuratorFrameworkSingleton.closeAndReleaseInstance is 10, but in > Driver.releaseLocksAndCommitOrRollback, it's 0. So locks are released after > CuratorFramework is closed, which may case such exception. > This is my operation: > I add hook of ExecuteWithHookContext or PreExecute, which simply sleep like: > @Override > public void run(HookContext hookContext) throws Exception { > int max_i = 6; > try { > for ( int i = 0; i < max_i ; i ++) { > LOG.info("try to sleep, for i is => " + i); > Thread.sleep(5000); > } > } catch (Exception e) { > LOG.error(e.getMessage(), e); > } > } > and run sql for example, > select count(1) from hive_test.time_test; > Then enter ctrl+c twice to kill hive client. Hive client will not exit, and > the above error is thrown. -- This message was sent by Atlassian JIRA (v6.4.14#64029)