[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14904818#comment-14904818
 ] 

Sijie Guo commented on BOOKKEEPER-874:
--------------------------------------

{quote}
>>    Can't we update LAC of the last entry in place on bookies? Does this 
>> violate any BookKeeper's principles?

My concern here is that it breaks the flow of the write pipeline. but other 
than that, I don't see a correctness issue. 
{quote}

-1 on changing LAC of any added entries. an entry is digested with entryid, lac 
and entry data. so if you are changing LAC of the last entry, you have to 
change digestion too. This would just introduce inconsistency between entries, 
make the flow much complicated. Even worse, it tight the client with bookies as 
bookies have to know how client does digestion. 

I like [~fpj]'s LAC cache proposal. But my thinking is slightly different, we 
could have lac in FileInfo and be durable like what we did for fencing state. 
so we don't need additional cache.

{quote}
bq. Are you worried about the case where reader may read ahead of writer got 
Acks and crashes before returning to the user? I agree this solution does have 
that corner case issue.

Yes, in general that's the problem of reading ahead of the LAC.
{quote}

+1 on avoiding reading over LAC. LAC is the boundary of consistency.


> Explict LAC from Writer to Bookies
> ----------------------------------
>
>                 Key: BOOKKEEPER-874
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-874
>             Project: Bookkeeper
>          Issue Type: Improvement
>          Components: bookkeeper-client, bookkeeper-server
>            Reporter: Venkateswararao Jujjuri
>            Assignee: Venkateswararao Jujjuri
>
> Current client API piggy-backs LAC with a write. This is keeps reader one 
> behind the writer. In order to keep reader up to date with writer even when 
> there is a pause in write, proposing the following:
> Writer sends explicit LAC on a configured timeout if there is no write within 
> that period.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to