[
https://issues.apache.org/jira/browse/BOOKKEEPER-191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13430409#comment-13430409
]
Ivan Kelly commented on BOOKKEEPER-191:
---------------------------------------
{quote}
ChangeLedgerOp is asynchronous op, but PersisteOp is synchronous op. so when
the ChangeLedgerOp is executing, the previous persist ops might be still
on-the-fly. so doChangeLedger is to avoid close ledger until all previous
requests are finished. then it is safe to change ledger.
{quote}
As I understand it, thats not how TopicOpQueuer works. Only one op is allows to
run for a topic at a time whether it's sync or async. When an op is pushed onto
the TopicOpQueue, the op is first put on the work queue for that topic, and
then run if it is the only thing in the queue. If it is not the only thing in
the queue it will wait. Then it will be run when another op(sync or async)
finishes and runs popAndRunNext().
> Hub server should change ledger to write, so consumed messages have chance to
> be garbage collected.
> ---------------------------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-191
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-191
> Project: Bookkeeper
> Issue Type: Improvement
> Affects Versions: 4.1.0
> Reporter: Sijie Guo
> Assignee: Sijie Guo
> Fix For: 4.2.0
>
> Attachments: BK-191.diff, BOOKKEEPER-191.diff, BOOKKEEPER-191.diff
>
>
> currently, hub server write entries to only one ledger, if a topic doesn't
> change ownership, all entries will be added to this ledger. so those consumed
> messages don't have chance to be garbage collected.
--
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