Hi Charan, please see my response below.

Sijie/Matteo/others can you please chime in too?

On Wed, Mar 2, 2016 at 11:40 AM, Charan Reddy G <[email protected]>
wrote:

> Hi,
>
> I've few questions related to BookKeeper internals and I think some of them
> are issues. Can someone please clarify them
>
> 1) SortedLedgerStorage: in SortedLedgerStorage in getEntry method, why does
> it first try to read from EntryLogger (persistence storage) instead of
> EntryMemTable, isn't it optimal to first attempt to read from memory
> instead of from persistence storage? Is it empirical decision to go other
> way round?
>

Last time I brought this up with Sijie and he thinks this is not the case.
Charan,
can you please provide call flow here?


> 2) Cookie: why IndexDirs is not part of Cookie? In generateCookie method of
> Cookie class, we added JournalDir and LedgerDirs but not IndexDirs, is it
> ok to not to include IndexDirs in it?
>

Index dirs doesn't contain actual data, we need to treat it like metadata.
So, I believe we must not include index files.


> 3) MetaFormat BookieShell Command: On executing 'metaformat' BookieShell
> command it is observed that it does everything as expected but it doesn't
> deletes UnderReplicatedLedgers list from the ZooKeeper. It looks like an
> issue to me.
>
> 4) length in LedgerEntry: when we read LedgerEntry using LedgerHandle
> readEntries method, the length of LedgerEntry instance is not representing
> the actual length of the entry instead it represents the cumulative length
> of the entry in Ledger (entrylength of n = actual length of entry n +
> entrylength of (n-1)). Is this what is it supposed to be? Am I doing
> something wrong here?
>

That is what it is; Entry length = header length + payload (the actual
payload from client)


> 5) AutoRecoveryMain: it seems it is configurable to enable/disable
> AutoRecoveryDaemon and it runs as daemon thread in Bookie/BookieServer
> process only if it is enabled and the other option option is to run
> separate AutoRecoveryMain Daemon service process in each node from CLI
> (from bookkeeper shell script). Are there pro and cons to go one way or the
> other? Is it ok to not to run AutoRecoveryMain daemon in any of the
> bookies?
>

This is preferred to be enabled. Disable is only for backward
compatibility. We even talked
about it last time when we met Sijie and Matteo at dinner. We can change
config file to enable it by default.
I believe this must be enabled on all bookies.


>
> 6) updatecookie command and updateledgers command: It is observed after
> calling updatecookie command it will update the cookies both in ZK and
> local filesystem directories according to the new BookieAddress, but if we
> try listbookies command after updatecookie command it still shows old
> bookie address, is it not supposed to get updated as part of updatecookie
> command? will it not cause discrepancies? Similarly after updateledgers
> command listbookies command still show older bookieaddress.
>

May be a bug??


>
> Thanks,
> Charan Reddy
>



-- 
Jvrao
---
First they ignore you, then they laugh at you, then they fight you, then
you win. - Mahatma Gandhi

Reply via email to