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.


Reply via email to