On Tue, Mar 8, 2016 at 6:51 PM, Venkateswara Rao Jujjuri <[email protected]>
wrote:

> 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?
>

I need to check this to confirm.


>
>
> > 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.
>

I think the indexDirs were added later after we introduced Cookie. so we
forgot to add them to the Cookie.

This should be added though.


>
>
> > 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.
>

Could you file a jira for it?


> >
> > 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?


We run AutoRecoveryMain as separated service in our mesos scheduler.
Because it is a stateless service.


> 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.
> >
>

Could you list the steps how to reproduce this?


>
> 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