You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Flavio Paiva Junqueira (JIRA)" <ji...@apache.org> on 2009/04/29 10:34:30 UTC
[jira] Assigned: (ZOOKEEPER-387) closeLedger shouldn't shut down
all QuorumEngines
[ https://issues.apache.org/jira/browse/ZOOKEEPER-387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flavio Paiva Junqueira reassigned ZOOKEEPER-387:
------------------------------------------------
Assignee: Flavio Paiva Junqueira
> 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.