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