[
https://issues.apache.org/jira/browse/BOOKKEEPER-408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13456944#comment-13456944
]
Ivan Kelly commented on BOOKKEEPER-408:
---------------------------------------
fail() only works if it's called in the junit thread. In this case it'll be run
by the bookkeeper callback thread. These calls to fail are all broken, and need
to be rejigged. It would be interesting to see why there aren't enough bookies
though.
> 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
>
> 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