You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Phabricator (JIRA)" <ji...@apache.org> on 2012/05/06 07:40:16 UTC
[jira] [Updated] (HIVE-3000) Potential infinite loop / log spew in
ZookeeperHiveLockManager
[ 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