Barrett Oglesby created GEODE-9043:
--------------------------------------
Summary: A register interest attempt from a newer client to an
older server throws a NoSubscriptionServersAvailableException instead of a
ServerRefusedConnectionException
Key: GEODE-9043
URL: https://issues.apache.org/jira/browse/GEODE-9043
Project: Geode
Issue Type: Bug
Components: client/server
Reporter: Barrett Oglesby
The exception in the register interest case is a bit confusing.
If a 1.13.2 client attempts to connect to a 1.13.0 server and do a put, it
throws this ServerRefusedConnectionException with the exact cause:
{noformat}
Exception in thread "main"
org.apache.geode.cache.client.NoAvailableServersException:
org.apache.geode.cache.client.ServerRefusedConnectionException:
nn.nnn.nnn.nn(3047)<v3>:41001(version:GEODE 1.13.0) refused connection: Peer or
client version with ordinal 121 not supported. Highest known version is 1.13.0
Client: /nn.nnn.nnn.nn:64123.
at
org.apache.geode.cache.client.internal.pooling.ConnectionManagerImpl.createPooledConnection(ConnectionManagerImpl.java:200)
at
org.apache.geode.cache.client.internal.pooling.ConnectionManagerImpl.borrowConnection(ConnectionManagerImpl.java:273)
at
org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:128)
at
org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:796)
at org.apache.geode.cache.client.internal.PutOp.execute(PutOp.java:91)
{noformat}
If the client attempts to registerInterest, it throws this
NoSubscriptionServersAvailableException:
{noformat}
Exception in thread "main"
org.apache.geode.cache.NoSubscriptionServersAvailableException:
org.apache.geode.cache.NoSubscriptionServersAvailableException: Could not
initialize a primary queue on startup. No queue servers available.
at
org.apache.geode.cache.client.internal.QueueManagerImpl.getAllConnections(QueueManagerImpl.java:190)
at
org.apache.geode.cache.client.internal.OpExecutorImpl.executeOnQueuesAndReturnPrimaryResult(OpExecutorImpl.java:432)
at
org.apache.geode.cache.client.internal.PoolImpl.executeOnQueuesAndReturnPrimaryResult(PoolImpl.java:870)
at
org.apache.geode.cache.Region.registerInterestForAllKeys(Region.java:1657)
{noformat}
The log does contain a message like below so it can be determined the exact
cause, buts not in the exception:
{noformat}
[warn 2021/03/15 11:59:04.100 PDT client <main> tid=0x1] Could not create a new
connection to server: nn.nnn.nnn.nn(9838)<v1>:41001(version:GEODE 1.13.0)
refused connection: Peer or client version with ordinal 121 not supported.
Highest known version is 1.13.0 Client: /nn.nnn.nnn.nn:65323.
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)