Hello dennis,

SyncThread only flushed Entry Logs and Index files not journal files.

Step 4 only happened when entries in journal files are flushed to disk,
which means that when bookkeeper client received responses, the entries are
already persisted in journal files.

The index may be still in Ledger Cache without being persisted when bookie
server shuts down or crashes. But it is OK. When bookie server restarted,
it can replay entries persisted in journal files to recover index.

So no entries will be lost when bookkeeper client received their responses.

You can read 'Data Management in Bookie Server' section in
doc/bookkeeperOverview.textile for reference.

Thanks,
Sijie

2011/11/28 dennis zhuang <[email protected]>

> Hi,to add a entry to bookie server,it has four steps as follow:
>
>    1. Append the entry in *Entry Log*, return its position { logId ,
>    offset } ;
>    2. Update the index of this entry in *Ledger Cache* ;
>    3. Append a transaction of update of this entry in *Journal* ;
>    4. Respond to BookKeeper client ;
>
> And the EntryLogger,Journal and Index files are not forced to device right
> now,but waiting for SyncThread to flush them.
> My question is that bookie server would lost data between data flushs?
>
>
> --
> 庄晓丹
> Email:        [email protected]
> 伯岩(花名)  [email protected]
> Site:           http://fnil.net
>
> 淘宝(中国)软件有限公司 / 产品技术部 / Java中间件
>
>

Reply via email to