[
https://issues.apache.org/jira/browse/BOOKKEEPER-455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13491963#comment-13491963
]
Sijie Guo commented on BOOKKEEPER-455:
--------------------------------------
{quote}
if the last-written entry carries LAC 7, while some previous written entry
carries LAC 8. would that cause issue?
{quote}
since LAC only changed only an entry is Acked, and BookKeeper preserves the
Acked order submitted back to client. so if writing K entry with LAC L (L <=
K-1), writing K+1 entry whose LAC would not be larger than K. so the case you
described might not happen.
{quote}
I do not see Async-add-entry directly used by production code, so it is not an
real issue per se. (Hedwig uses single-queue per topic)
{quote}
I need to clarify that Hedwig actually uses async interface for add entry. You
could refer PersistOp in BookKeeperPersistenceManager, which runs asyncAddEntry
in a synchronous op. The benefit of asyncAddEntry is performance. The downside
of asyncAddEntry is we might get a LAC far away from the last confirmed when
the client issues asyncAddEntry quickly, which would make the ledger recovery
longer when failure, as Flavio indicated in his first comment.
> Bookie recovery made assumption that entries are persisted in entry id order
> ----------------------------------------------------------------------------
>
> Key: BOOKKEEPER-455
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-455
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-server
> Affects Versions: 4.2.0
> Reporter: Yixue (Andrew) Zhu
> Priority: Minor
>
> The entries sent by bookkeeper client can be out of order (due to network).
> The client uses queue to track last-confirmed-entry-id correctly.
> The bookie server will happily persist the entries out of order, i.e. gaps
> are possible. If bookie crash, the recovery can cause last-confirmed-entry-id
> to be set to the last-entry persisted by bookie. The gap is not tracked nor
> detected at server side.
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira