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

Venkateswararao Jujjuri commented on BOOKKEEPER-874:
----------------------------------------------------

How about this?

 enum OperationType {
+    PUT_LAC = 5;
+    GET_LAC = 6;
 }

+message PutLacRequest {
+    required int64 ledgerId = 1;
+    required int64 lac = 2;
+    required bytes body = 4; // Digest + lac from writer.
+}
+
+message GetLacRequest {
+    required int64 ledgerId = 1;
+}
+
+message PutLacResponse {
+    required StatusCode status = 1;
+}
+
+message GetLacResponse {
+    required StatusCode status = 1;
+    optional bytes lacBody = 2; // Digest lac sent by PutLacRequest
+    optional bytes lastEntryBody = 3; // Actual data of the last entry on the 
disk
+}
Client which receives validates diegests and extracts LAC from both and picks 
the highest one.


> 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