You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Sijie Guo (JIRA)" <ji...@apache.org> on 2012/12/13 07:33:21 UTC

[jira] [Commented] (BOOKKEEPER-408) BookieReadWriteTest will enter the endless loop and will not leave out

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

Sijie Guo commented on BOOKKEEPER-408:
--------------------------------------

the new patch looks good for me. +1
                
> BookieReadWriteTest will enter the endless loop and will not leave out
> ----------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-408
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-408
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-server
>    Affects Versions: 4.1.0
>         Environment: SUSE System
> ZooKeeper server
> three BookKeepers
>            Reporter: liuyang
>            Assignee: Ivan Kelly
>             Fix For: 4.2.0
>
>         Attachments: 0001-BOOKKEEPER-408-BookieReadWriteTest-will-enter-the-en.patch
>
>
> When I run the tests of BookKeeper, I found that the test running forever and cannot be finished. The log has the exception that is "junit.framework.AssertionFailedError: Return code is not OK: -6". 
> I thought this issuse might be come from the synchronization mechanism used by the BookieReadWriteTest.
> for example in BookieReadWriteTest.TestReadWriteAsyncSingleClient()
> 1. when called the function lh.asyncAddEntry(entry.array(), this ,sync), the call back function is addComplete(int, LedgerHandle, long, Object)
> 2. we can see that in addComplete(..) the function will be fail when rc != BKException.Code.OK, and the x.counter++ will not be called never.
> 3. we assume that the function addComplete(..) is fail. so, in TestReadWriteAsyncSingleClient(), the while loop enter endless loop because sync.counter < numEntriesToWrite is right forever.

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