You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Paul Yang (JIRA)" <ji...@apache.org> on 2012/05/03 02:53:48 UTC

[jira] [Created] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Paul Yang created HIVE-3000:
-------------------------------

             Summary: 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


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

        

[jira] [Updated] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Phabricator (JIRA)" <ji...@apache.org>.
     [ 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

        

[jira] [Updated] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Ashutosh Chauhan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ashutosh Chauhan updated HIVE-3000:
-----------------------------------

    Fix Version/s: 0.10.0
    
> 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
>             Fix For: 0.10.0
>
>         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

        

[jira] [Updated] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Kevin Wilfong (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Wilfong updated HIVE-3000:
--------------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Committed, thanks Namit.
                
> 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

        

[jira] [Commented] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Namit Jain (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269125#comment-13269125 ] 

Namit Jain commented on HIVE-3000:
----------------------------------

https://reviews.facebook.net/D3063
                
> 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

        

[jira] [Updated] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Namit Jain (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Namit Jain updated HIVE-3000:
-----------------------------

    Status: Patch Available  (was: Open)
    
> 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

        

[jira] [Assigned] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Ashutosh Chauhan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ashutosh Chauhan reassigned HIVE-3000:
--------------------------------------

    Assignee: Namit Jain
    
> 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
>            Assignee: Namit Jain
>             Fix For: 0.10.0
>
>         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

        

[jira] [Commented] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Phabricator (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269129#comment-13269129 ] 

Phabricator commented on HIVE-3000:
-----------------------------------

kevinwilfong has accepted the revision "HIVE-3000 [jira] Potential infinite loop / log spew in ZookeeperHiveLockManager".

  +1 Looks good, running tests.

REVISION DETAIL
  https://reviews.facebook.net/D3063

BRANCH
  svn

                
> 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

        

[jira] [Commented] (HIVE-3000) Potential infinite loop / log spew in ZookeeperHiveLockManager

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13270114#comment-13270114 ] 

Hudson commented on HIVE-3000:
------------------------------

Integrated in Hive-trunk-h0.21 #1417 (See [https://builds.apache.org/job/Hive-trunk-h0.21/1417/])
    HIVE-3000 Potential infinite loop / log spew in ZookeeperHiveLockManager (njain via kevinwilfong) (Revision 1335106)

     Result = FAILURE
kevinwilfong : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1335106
Files : 
* /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java

                
> 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
>            Assignee: Namit Jain
>             Fix For: 0.10.0
>
>         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