Hi all, In BP-28, I was showing how a new metadata store can be organized and implemented using Etcd at some extend. However there was a bit unclear on reflection works with pluggable metadata stores.
As discussed with JV, I am starting this proposal on discussing how we can organize the metadata api and implementation in the way like stats provider, define a clean contract between bookkeeper implementation and the metadata api and allow support different metadata store plugins. It is probably making easier for people to understand BP-28 after we agree on BP-29. Here is the proposal: https://github.com/apache/bookkeeper/pull/1117 https://github.com/sijie/bookkeeper/blob/c9b47373754f78cadb325ffd4b7a6b962940a12e/site/bps/BP-29-metadata-store-api-module.md Here is a branch on showing how the modules are organized: https://github.com/sijie/bookkeeper/tree/metadata-store-api-module/metadata-stores Comments are welcome. - Sijie