Utkarsh Srivastava updated ZOOKEEPER-505:

    Attachment: ZOOKEEPER-505.1.patch

Fix the unit test to not catch exceptions
Actually wait for openCallback to be called by using a new control object

> testAsyncCreateClose is badly broken
> ------------------------------------
>                 Key: ZOOKEEPER-505
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-505
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bookkeeper
>            Reporter: Utkarsh Srivastava
>            Priority: Critical
>         Attachments: ZOOKEEPER-505.1.patch
> The test case testAsyncCreateClose is badly broken. I was wondering why all 
> the unit tests are passing inspite of having found so many different problems 
> with LedgerManagementProcessor. 
> There is a big try-catch block sitting in the test case that catches all 
> exception, prints their stack trace, and exits, thereby allowing the test to 
> pass. In general, unit tests shouldnt catch exceptions unless it is something 
> you are expecting that will happen.
> Another problem is that the same ControlObject is used for synchronization 
> throughout. Since we already have the problem of callbacks being called 
> multiple times (ZOOKEEPER-502), notify() on the control object is called too 
> many times, resulting in the unit test not waiting for certain callbacks.
> Thus the test never waits for the asyncOpenLedger() to finish, and hence 
> still succeeds. I believe asyncOpenLedger() has never worked right. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to