Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-9043

A register interest attempt from a newer client to an older server throws a NoSubscriptionServersAvailableException instead of a ServerRefusedConnectionException

    XMLWordPrintableJSON

Details

    Description

      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:

      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)
      

      If the client attempts to registerInterest, it throws this NoSubscriptionServersAvailableException:

      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)
      

      The log does contain a message like below so it can be determined the exact cause, but not in the exception:

      [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.
      

      Attachments

        Activity

          People

            sabbey37 Sarah Abbey
            boglesby Barrett Oglesby
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: