sijie opened a new issue #902: Improve asyncCreateFullPathOptimistic to reduce 
zookeeper verbose logging
URL: https://github.com/apache/bookkeeper/issues/902
 
 
   **FEATURE REQUEST**
   
   1. Please describe the feature you are requesting.
   
   There is a ["gc" 
logic](https://github.com/apache/bookkeeper/blob/master/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/AbstractZkLedgerManager.java#L315)
 in `removeLedgerMetadata` to delete the parent znodes recursively. The logic 
is not a problem. However it will introduce a lot of verbose logging from 
zookeeper because the parent znode is not empty at most of the time. 
   
   ```
   2017-12-21 09:18:04,768 - INFO  - [ProcessThread(sid:0 
cport:2181)::PrepRequestProcessor@880] - Got user-level KeeperException when 
processing sessionid:0x10072c2295d000c type:delete cxid:0x147 zxid:0x251 
txntype:-1 reqpath:n/a Error Path:/messaging/bookkeeper/ledgers/00/0000 
Error:KeeperErrorCode = Directory not empty for 
/messaging/bookkeeper/ledgers/00/0000
   ```
   
   The problem is we are using an "optimistic" on deleting. We should check if 
the parent is empty or not, before deleting. It is also more scalable to check 
before delete, because check is a read operation, while delete is a write 
operation which has to go to zk leader.
   
   2. Indicate the importance of this issue to you (blocker, must-have, 
should-have, nice-to-have). Are you currently using any workarounds to address 
this issue?
   
   *should-have*
   
   3. Provide any additional detail on your proposed use case for this feature.
   
   N/A
   
   
   
   

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to