[jira] Commented: (ZOOKEEPER-505) testAsyncCreateClose is badly broken

2009-08-09 Thread Flavio Paiva Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741044#action_12741044
 ] 

Flavio Paiva Junqueira commented on ZOOKEEPER-505:
--

Great catch, Utkarsh! I noticed this problem a while ago in the ReadWrite tests 
and fixed by changing the catch blocks to the following:

{noformat}
catch (BKException e) {
  LOG.error("Test failed", e);
  fail("Test failed due to BookKeeper exception");
}
{noformat}

Clearly we forgot to implement the change in all places. Also, we shouldn't 
have calls to printStackTrace. Now I wonder if it is best to remove the catch 
block as you propose or to catch and fail as I propose above. I don't know the 
exact semantics of junit with respect to exceptions, but recently I've seen a 
case that a test was throwing an exception and not catching it, and was still 
passing. 




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



[jira] Commented: (ZOOKEEPER-505) testAsyncCreateClose is badly broken

2009-08-08 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741000#action_12741000
 ] 

Hadoop QA commented on ZOOKEEPER-505:
-

+1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12415968/ZOOKEEPER-505.1.patch
  against trunk revision 802188.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 3 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs warnings.

+1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

+1 core tests.  The patch passed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
http://hudson.zones.apache.org/hudson/job/Zookeeper-Patch-vesta.apache.org/181/testReport/
Findbugs warnings: 
http://hudson.zones.apache.org/hudson/job/Zookeeper-Patch-vesta.apache.org/181/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: 
http://hudson.zones.apache.org/hudson/job/Zookeeper-Patch-vesta.apache.org/181/console

This message is automatically generated.

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