[
https://issues.apache.org/jira/browse/BOOKKEEPER-220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13260691#comment-13260691
]
Matteo Merli commented on BOOKKEEPER-220:
-----------------------------------------
Thanks Flavio for reviewing the code.
# I'm sure there are similarities since we're trying to achieve the same goal :)
I already took a look at the BookkeeperPersistentManager in Hedwig, but I
need some more time to fully understand its design.
# Yes, this point is not clear yet. I think there are a few options :
** Make the ManagedLedger acquire a lock on zookeeper when opening
** Enforce the single writer within the same VM and _trust_ that no other
machine is using it.
The reason I'm considering this is because we already need to have a
separate lock to ensure that a single topic/queue is only served by one broker
at any time.
# You're right, for now I've implemented all the async call using an executor
in a background thread pool. I know this is far from ideal from an async point
of view, but please note that the implementation is still very incomplete, I
just put it there so that Chiaming can start working in parallel on the broker,
using the ManagedLedger async api with something that for a client perspective
"somewhat works".
> Managed Ledger proposal
> -----------------------
>
> Key: BOOKKEEPER-220
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-220
> Project: Bookkeeper
> Issue Type: New Feature
> Components: bookkeeper-client
> Reporter: Matteo Merli
> Assignee: Matteo Merli
>
> The ManagedLedger design is based on our need to manage a set of ledgers,
> with a single writer (at any point in time) and a set on consumers that read
> entries from it.
> The ManagedLedger also takes care of periodically closing ledgers to have a
> "reasonable" sized sets of ledgers that can individually deleted when no more
> needed.
> I've put on github the interface proposal (along with an early WIP
> implementation)
> http://github.com/merlimat/managed-ledger
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira