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? 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? 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? 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? 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. Thanks, Charan Reddy
