Hi all,

 

While using BookKeeper in BookKeeperJournalManager with HDFS, we faced one
problem. It cannot read the last entry of the open ledger from different
BookKeeper client.

 

This is due to behavior of bookkeeper to read  upto lastAddConfirmed. For
the OpenLedger this will be always one less than actual number of entries.

 

Problem is ,

 

   If the ledger contains one entry, then based on the lastAddConfirmed, we
cannot decide whether the ledger is actually empty or contains one entry.

 

   BKJM needs to read the open ledger without fencing it in case of
https://issues.apache.org/jira/browse/HDFS-3752. 

 

So we resolved this internally as below,

 In NonRecoveryMode, read the entries starting from lastAddConfirmed+1 till
NoSuchEntry comes from all bookies. If all bookies throws NoSuchEntry, then
it is sure that that entry is not written and previous will be the last
available entry.

How about adding this addition api to BookKeeper client to get the accurate
lastAddConfirmed  from the open ledgers.

 

Please let me know your thoughts.

 

Regards,

   Vinayakumar B.,

   9538828765

 

Reply via email to