hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8482) TestHBaseFsck#testCheckTableLocks broke; java.lang.AssertionError: expected:<[]> but was:<[EXPIRED_TABLE_LOCK]>
Date Sun, 05 May 2013 14:40:16 GMT

    [ https://issues.apache.org/jira/browse/HBASE-8482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13649341#comment-13649341
] 

Jonathan Hsieh commented on HBASE-8482:
---------------------------------------

bq. I fear that some time later we will just see that we are using system.currentTimeMilis()
there and change it again to use EEM. Unfortunately I do not have a clever solution to change
the chore + sleeper thing.

Just add a comment justifying it in the code.  Clever enough?
                
> TestHBaseFsck#testCheckTableLocks broke; java.lang.AssertionError: expected:<[]>
but was:<[EXPIRED_TABLE_LOCK]>
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8482
>                 URL: https://issues.apache.org/jira/browse/HBASE-8482
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>            Assignee: stack
>            Priority: Critical
>             Fix For: 0.95.1
>
>         Attachments: 8482.txt
>
>
> I've been looking into this test failure because I thought it particular to my rpc hackery.
> What I see is like the subject:
> {code}
> java.lang.AssertionError: expected:<[]> but was:<[EXPIRED_TABLE_LOCK]>
> {code}
> and later in same unit test:
> {code}
> java.lang.AssertionError: expected:<[EXPIRED_TABLE_LOCK]> but was:<[EXPIRED_TABLE_LOCK,
EXPIRED_TABLE_LOCK]>
> {code}
> The test creates a write lock and then expires it.  In subject failure, we are expiring
the lock ahead of the time it should be.  Easier for me to reproduce is that the second write
lock we put in place is not allowed to happen because of the presence of the first lock EVEN
THOUGH IT HAS BEEN JUDGED EXPIRED:
> {code}
> ERROR: Table lock acquire attempt found:[tableName=foo, lockOwner=localhost,60000,1,
threadId=387, purpose=testCheckTableLocks, isShared=false, createTime=129898749]
> 2013-05-02 00:34:42,715 INFO  [Thread-183] lock.ZKInterProcessLockBase(431): Lock is
held by: write-testing utility0000000000
> ERROR: Table lock acquire attempt found:[tableName=foo, lockOwner=localhost,60000,1,
threadId=349, purpose=testCheckTableLocks, isShared=false, createTime=28506852]
> {code}
> Above, you see the expired lock and then our hbck lock visitor has it that the second
lock is expired because it is held by the first lock.
> I can keep looking at this but input would be appreciated.
> It failed in recent trunk build https://builds.apache.org/view/H-L/view/HBase/job/HBase-TRUNK/4090/testReport/junit/org.apache.hadoop.hbase.util/TestHBaseFsck/testCheckTableLocks/

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message