Hi folks, A discussion has arisen about on [1] about the ledger layout changes I've made recently [2]. The change[2] adds a field maxLedgerMetadataFormat to the cluster-wide managed ledger layout. When a new ledger is created, this is the maximum format version which will be used to write it. Currently, the default is 2 (text protobuf), though it could be changed to 3 (binary protobuf) in future. I also had a plan to create a tool to bump to 3. This field exists to allow clients that don't understand the binary format to coexist with clients that do. Another option would be to not change the ledger layout, but instead, have a per client configuration for maxLedgerMetadataFormat, which could default to 2. It would work the same way, but there would be no central point to bump to 3. Each client/application would have to do so.
What are folks thoughts on this? The cluster-wide is already implemented, though per client has its advantages too. In any case, this needs to be resolved before 4.9. Once resolved I'll push a BP for the whole feature. Cheers, Ivan [1] https://github.com/apache/bookkeeper/issues/1863 [2] https://github.com/apache/bookkeeper/pull/1858
