You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2018/01/18 19:10:29 UTC

[GitHub] reddycharan opened a new issue #1014: Bugs in LedgerManager.asyncProcessLedgers

reddycharan opened a new issue #1014: Bugs in LedgerManager.asyncProcessLedgers
URL: https://github.com/apache/bookkeeper/issues/1014
 
 
   
   **BUG REPORT**
   
   1. Please describe the issue you observed:
   
   - What did you do?
   
   **Bug 1:** In the case of HierarchicalLedgerManager (composition of both LegacyHierarchicalLedgerManager and LongHierarchicalLedgerManager), LegacyHierarchicalLedgerManager.asyncProcessLedgers erroneously would process ledgers belonging to LongHierarchicalLedgerManager because of insufficient check in process method - https://github.com/apache/bookkeeper/blob/master/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LegacyHierarchicalLedgerManager.java#L128 . Here they are ignoring only special nodes but not nodes belonging to LongHierarchicalLedgerManager.
   
   **Bug 2:** In the case of all hierarchical ledgermanagers, 'asyncProcessLedgers' is error prone to concurrent modifications like deletions of ledgers (causing deletions of leaf nodes and internal nodes in the ZK tree hierarchy). So because of concurrent modifications (deletions) 'asyncProcessLedgers' would fail with 'failureRc' since AbstractHierarchicalLedgerManager.asyncProcessLevelNodes and AbstractZkLedgerManager.getChildrenInSingleNode are not handling NONODE errorcode correctly.
   
   **Note:** 
   1) Added testcases which are failing because of the above 2 bugs - https://github.com/reddycharan/bookkeeper/commit/742b32b63162ae2a25071319d6b1816d79668f53 (this commit in my personal repo is just for better understanding for now, it would go away)
   2) I'm going to add these testcases and the fix for the issue along with "decouple metaformat cmd #978" since I'm touching those areas as part of that feature.
   
   
   - What did you expect to see?
   
   - What did you see instead?
   
   **BP**
   
   This is the master ticket for tracking BP-&lt;bp-number&gt; :
   
   [a short description for this BP]
   
   Proposal PR - #&lt;pr-number&gt;
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services