[ 
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

Reply via email to