[ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phabricator updated HIVE-3000: ------------------------------ Attachment: HIVE-3000.D3063.1.patch njain requested code review of "HIVE-3000 [jira] Potential infinite loop / log spew in ZookeeperHiveLockManager". Reviewers: JIRA https://issues.apache.org/jira/browse/HIVE-3000 HIVE-3000 infinite loop in ZooKeeperHiveLockManager See ZookeeperHiveLockManger.lock() If Zookeeper is in a bad state, it's possible to get an exception (e.g. org.apache.zookeeper.KeeperException$SessionExpiredException) when we call lockPrimitive(). There is a bug in the exception handler where the loop does not exit because the break in the switch statement gets out the switch, not the do..while loop. Because tryNum was not incremented due to the exception, lockPrimitive() will be called in an infinite loop, as fast as possible. Since the exception is printed for each call, Hive will produce significant log spew. TEST PLAN EMPTY REVISION DETAIL https://reviews.facebook.net/D3063 AFFECTED FILES ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java MANAGE HERALD DIFFERENTIAL RULES https://reviews.facebook.net/herald/view/differential/ WHY DID I GET THIS EMAIL? https://reviews.facebook.net/herald/transcript/6963/ Tip: use the X-Herald-Rules header to filter Herald messages in your client. > Potential infinite loop / log spew in ZookeeperHiveLockManager > -------------------------------------------------------------- > > Key: HIVE-3000 > URL: https://issues.apache.org/jira/browse/HIVE-3000 > Project: Hive > Issue Type: Bug > Components: Locking > Affects Versions: 0.9.0 > Reporter: Paul Yang > Attachments: HIVE-3000.D3063.1.patch > > > See ZookeeperHiveLockManger.lock() > If Zookeeper is in a bad state, it's possible to get an exception (e.g. > org.apache.zookeeper.KeeperException$SessionExpiredException) when we call > lockPrimitive(). There is a bug in the exception handler where the loop does > not exit because the break in the switch statement gets out the switch, not > the do..while loop. Because tryNum was not incremented due to the exception, > lockPrimitive() will be called in an infinite loop, as fast as possible. > Since the exception is printed for each call, Hive will produce significant > log spew. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira