You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geode.apache.org by Alberto Gomez <al...@est.tech> on 2020/05/26 14:50:46 UTC

Question about compatibility of Geode client versions with Geode server versions

Hi,

According to https://cwiki.apache.org/confluence/display/GEODE/Managing+Backward+Compatibility  regarding rolling upgrades:

"clients using the new version will not be used until the system is fully rolled to the new version."

I have seen that this is enforced at the Geode Server code so that when a client in a given version of Geode tries to connect to a Geode server on an older version, an `UnsupportedVersionException` exception is thrown, except for the case when the client is a gateway sender.

I was wondering why this condition is enforced by Geode while it is not so between servers and neither between servers and gateways. What use cases would benefit from such behavior?

We have a use case in our system during upgrade in which we cannot assure that servers will be upgraded before clients and therefore clients will stop working until servers are upgraded, even if there are no incompatibilities between them. Implementing a switch to disable it would be useful. Do you see any problem with it?

As a side note, we have also noticed that in the C++ native client the above condition is not enforced because the version of the C++ client is currently hardcoded in all versions to 1.0. I am not sure if this a bug or something done on purpose.

Thanks in advance,

-Alberto G.