Hadoop QA commented on ZOOKEEPER-387:

-1 overall.  Here are the results of testing the latest attachment 
  against trunk revision 769079.

    +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 failed core unit tests.

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

Test results: 
Findbugs warnings: 
Console output: 

This message is automatically generated.

> closeLedger shouldn't shut down all QuorumEngines
> -------------------------------------------------
>                 Key: ZOOKEEPER-387
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-387
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bookkeeper
>            Reporter: Flavio Paiva Junqueira
>            Assignee: Flavio Paiva Junqueira
>         Attachments: ZOOKEEPER-387.patch
> We had initially assumed one ledger open at a time, and LedgerRecoverMonitor 
> reads and closes a ledger without instantiating a QuorumEngine. Consequently, 
> when closing a ledger, we have to shut down a QuorumEngine only if there is 
> one. A poor way of implementing it is by having a for loop that iterates over 
> all available QuorumEngines and shut them down. Given the assumptions of one 
> ledger at a time and no QuorumEngine for LedgerRecoveryMonitor, this 
> implementation works. However, as we move to a more flexible model in which 
> multiple ledgers can be open and closed at arbitrary times, the for loop 
> choice no longer works. 
> The attached patch fixes this problem by just shutting down the QuorumEngine 
> instance corresponding to the ledger being closed, and it checks if a 
> QuorumEngine exists before submitting a STOP operation. The patch also 
> includes a test that opens four ledger, and then sequentially writes to the 
> each ledger and closes it.

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