I think they did that because the datatypes in the Version class are too small. I'm not sure why bytes and shorts were chosen.
The version constants are defined as bytes: private static final *byte* GEODE_1_11_0_ORDINAL = 107; While the ordinal is defined as a short: private final *short* ordinal; I'm assuming this was done because Version ends up on the wire. Does it go into every message or just handshake/join messages? I suppose we can't change these datatypes to integers until Geode 2.0 because they would end up being a breaking change. Maybe we should scan through all serialized datatypes for bytes/shorts that are going to run out... On Fri, Aug 23, 2019 at 9:02 AM Bruce Schuchardt <bschucha...@pivotal.io> wrote: > We've been incrementing the serialization version by 5 for each x.x.0 > release but I see that we went from 105 in 1.10.0 to 107 in develop for > 1.11.0. That gives us only one opportunity to make a serialization > change if we need to release patches for 1.10. I don't think that's > safe & we need to bump the ordinal for 1.11.0 to 110. > >