[ https://issues.apache.org/jira/browse/GEODE-8963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bruce J Schuchardt updated GEODE-8963: -------------------------------------- Issue Type: Improvement (was: Bug) > separate client/server compatibility from server/server version compatibility > ----------------------------------------------------------------------------- > > Key: GEODE-8963 > URL: https://issues.apache.org/jira/browse/GEODE-8963 > Project: Geode > Issue Type: Improvement > Components: serialization > Reporter: Bruce J Schuchardt > Priority: Major > > A client's version is used for deserializing data received from the client > and for serializing data sent to the client. It is also used to locate the > map of Commands used to process client requests. Every time we cut a new > release we bump this version in KnownVersions and create a new map of > Commands, even though client/server communications protocols rarely change. > We should have each KnownVersion hold a client/server compatibility number > that is used to identify clients rather than the KnownVersion's ordinal. > For instance, > {code:java} > public static final KnownVersion GEODE_1_15_0 = > new KnownVersion("GEODE", "1.15.0", (byte) 1, (byte) 15, (byte) 0, > (byte) 0, > /*server/server version*/GEODE_1_15_0_ORDINAL, > /*client/server version*/GEODE_1_15_0_ORDINAL); > > public static final KnownVersion GEODE_1_16_0 = > new KnownVersion("GEODE", "1.16.0", (byte) 1, (byte) 16, (byte) 0, > (byte) 0, > /*server/server version*/GEODE_1_16_0_ORDINAL, > /*client/server version*/GEODE_1_15_0_ORDINAL); > public static final KnownVersion GEODE_1_17_0 = > new KnownVersion("GEODE", "1.17.0", (byte) 1, (byte) 17, (byte) 0, > (byte) 0, > /*server/server version*/GEODE_1_17_0_ORDINAL, > /*client/server version*/GEODE_1_15_0_ORDINAL); > {code} > In the above KnownVersions the client/server serialization is known to have > not changed since v1.15.0 and so there is no need to use a newer KnownVersion > for clients. > Client handshake code will need to be changed to use the client/server > ordinal when identifying clients and servers. -- This message was sent by Atlassian Jira (v8.3.4#803005)