Il mer 12 dic 2018, 16:31 Ivan Kelly <iv...@apache.org> ha scritto: > 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. >
Having such value on ZK will enable cluster wide upgrade and we can easily move forward the default metadata version together with BK releases. Otherwise we will be stuck to v2. I have cases of clusters in which I have different versions of BK client working in the same bookies/cluster, this is because I have (very ofter) several applications which are sharing the same cluster but I can't force every application to be updated to latest and greatest BK major version. Another important issue is that if we have a client configuration option it must be handled by applications which usually build their own ClientConfiguration and read cluster wide configuration from ZK. So +1 for cluster wide configuration Enrico > > 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 > -- -- Enrico Olivelli