sijie commented on a change in pull request #1117: BP-29: Metadata API module
URL: https://github.com/apache/bookkeeper/pull/1117#discussion_r165889089
 
 

 ##########
 File path: site/bps/BP-29-metadata-store-api-module.md
 ##########
 @@ -0,0 +1,87 @@
+---
+title: "BP-29: Metadata API module"
+issue: https://github.com/apache/bookkeeper/<issue-number>
+state: 'Under Discussion'
+release: "x.y.z"
+---
+
+### Motivation
+
+We have already abstracted all the metadata operations into interfaces. And 
all the bookkeeper implementations only reply on metadata interfaces,
+rather than depending on zookeeper. This proposal is to organize the metadata 
interfaces and its implementations in a separate module and make
+bookkeeper implementation only depends on metadata interfaces, not depends on 
zookeeper. This would a few benefits:
+
+- It allows supporting different metadata storages, without bringing in 
dependencies of metadata store implementation directly into
+  bookkeeper-server module. The development of different metadata storage can 
be done without interleaving with each other.
+- It would define a clean module dependency between bookkeeper implementation 
and metadata api, and how bookkeeper load a different metadata
 
 Review comment:
   @jvrao we already used reflection to initialize ledger manager factory.
   
   
https://github.com/apache/bookkeeper/blob/master/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/LedgerManagerFactory.java#L178
   
   the performance overhead is only when resolving the class and initializing 
the class. once the class is initialized, the calls to all the methods are done 
not through reflection.
   
   Hope this makes clarification.
   
   

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to