[
https://issues.apache.org/jira/browse/BOOKKEEPER-408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13457536#comment-13457536
]
liuyang commented on BOOKKEEPER-408:
------------------------------------
when we cannot get enough bookies, the operation about add entry will throw
exception, then 'fail()' will be called, the callback function will be done.
So, the 'counter' cannot be increment, that cause the while loop enter endless
loop.
we must guarantee the test case will be end although we cannot get enough
bookies.
> 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