On Wed, Dec 12, 2018 at 11:31 PM Ivan Kelly <iv...@apache.org> wrote:
> 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. > I don't fully understand how the cluster-wide version work here, specially how do clients react when people use the tool to bump the version in ledger layout. IMO a client setting is probably good enough and more flexible for people to control the upgrade stories and there will no surprises, since the version is controlled by the bookkeeper "writers". > > 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 >