Hmm,i see. I am sorry,i don't notice the difference of SyncThread and bookie thread.The bookie thread doesn't wait.
在 2011年11月28日 下午1:20,Sijie Guo <[email protected]>写道: > > Responses are sent immediately after entries are persisted to journal > files (running in bookie thread), will not wait until their index are > flushed from ledgerCache to index files (running in SyncThread). > > Thanks, > Sijie > > 2011/11/28 dennis zhuang <[email protected]> > >> I still have a question about the performance, >> >> If the bookie server reponsed to client until SyncThread flush data to >> disk,it means that client have to wait at least flush interlval time for >> response. >> If i set flush_interval to 100ms, then in one thread i only can add 10 >> entries per second.I known that i can use asynAddEntry,but i need to use >> addEntry method for waiting the added result to ensure that entry is >> recorded in bookkeeper. >> >> Am i right? or any suggestion? >> >> 在 2011年11月28日 上午11:32,Sijie Guo <[email protected]>写道: >> >> >>> This is a good question. In theory, this would happend. >>> But I doubt that it would be a rare case in practice. since the max >>> bytes of a znode in zookeeper is 1MB. suppose we have bookkeeper configured >>> as ensemble size is 3. then ~100 bytes would be enough to store an ensemble >>> information, so we can store ~10000 ensembles for a LedgerMetadata, which I >>> think it is enough for a ledger written life cycle. >>> >>> BTW, a temp solution for this situation (if it did happen) is closing >>> the ledger when necessary (which would make the ledger read-only and no >>> metadata would be appended) and open a new one to write. >>> >>> Thanks, >>> Sijie >>> >>> 2011/11/28 dennis zhuang <[email protected]> >>> >>>> It seems that when client add entry to one bookie server failed,it will >>>> select an extra bookie server and try to add entry to the new one >>>> server,then put this relationship to ensembles map in LedgerMetadata. >>>> I am worry about that this map will grow up and reach the limit size of >>>> zookeeper,because the metadata is stored in zookeeper.Could it happen? Or >>>> there is a solution for this situation. >>>> >>>> 在 2011年11月28日 上午10:25,dennis zhuang <[email protected]>写道: >>>> >>>> Thanks for your answer. >>>>> Another question about bookkeeper is that when a bookie server failed >>>>> forever(such as disk damage etc.),will bookeeper try to replicate it's >>>>> entries to other bookie server automically?Or just let it go,then some >>>>> entries will lose their replications? >>>>> >>>>> 在 2011年11月28日 上午10:13,Samuel Guo <[email protected]>写道: >>>>> >>>>> 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中间件 >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> 庄晓丹 >>>>> Email: [email protected] >>>>> 伯岩(花名) [email protected] >>>>> Site: http://fnil.net >>>>> >>>>> 淘宝(中国)软件有限公司 / 产品技术部 / Java中间件 >>>>> >>>>> >>>> >>>> >>>> -- >>>> 庄晓丹 >>>> Email: [email protected] >>>> 伯岩(花名) [email protected] >>>> Site: http://fnil.net >>>> >>>> 淘宝(中国)软件有限公司 / 产品技术部 / Java中间件 >>>> >>>> >>> >>> >> >> >> -- >> 庄晓丹 >> Email: [email protected] >> 伯岩(花名) [email protected] >> Site: http://fnil.net >> >> 淘宝(中国)软件有限公司 / 产品技术部 / Java中间件 >> >> > -- 庄晓丹 Email: [email protected] 伯岩(花名) [email protected] Site: http://fnil.net 淘宝(中国)软件有限公司 / 产品技术部 / Java中间件
