Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-5194

HotRod client using protocolVersion "1.3" sends 2.0 0x29 code

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • 7.0.3.Final
    • None
    • Hide

      Set the protocol version to "1.3" in the configuration used to create the RemoteCacheManager. Get a cache from the RemoteCacheManager and call isEmtpy().

      Show
      Set the protocol version to "1.3" in the configuration used to create the RemoteCacheManager. Get a cache from the RemoteCacheManager and call isEmtpy().
    • Workaround Exists
    • Hide

      If you require pre-2.0 protocol, do not use the latest HotRod client. Instead, use the older 6.0.x version.

      Show
      If you require pre-2.0 protocol, do not use the latest HotRod client. Instead, use the older 6.0.x version.

      While testing the 7.0.3 HotRod client, I ran into a cluster view issue (that's for another bug report) so I attempted to work around it by specifying protocol version 1.3 by calling configurationBuilder.protocolVersion("1.3")

      One of the operations used by the HotRod client is cache.isEmpty().

      This call resulted in the HotRod client sending code 0x29 (41) to the server. The server rightly rejected it, so the client threw an exception.

      Below is a snippet from the HotRod client. Note that Codec13 is setting the operation code to 0x29.

      [2015-01-26 18:53:04,456 TRACE he_Timer-1 undRobinBalancingStrategy] Returning server: /10.22.6.227:11222
      [2015-01-26 18:53:04,456 TRACE he_Timer-1 TcpTransportFactory ] Using the balancer for determining the server: /10.22.6.227:11222
      [2015-01-26 18:53:04,456 TRACE he_Timer-1 TransportObjectFactory ] Fetching from pool: TcpTransport

      {socket=Socket[addr=/10.22.6.227,port=11222,localport=59868], serverAddress=/10.22.6.227:11222, id =93}

      [2015-01-26 18:53:04,456 TRACE he_Timer-1 TcpTransportFactory ] For server /10.22.6.227:11222: active = 1; idle = 0
      [2015-01-26 18:53:04,456 TRACE he_Timer-1 Codec13 ] Wrote header for message 3035. Operation code: 0x29. Flags: 0x0
      [2015-01-26 18:53:04,458 TRACE he_Timer-1 Codec13 ] Received response for message id: 3035
      [2015-01-26 18:53:04,458 TRACE he_Timer-1 Codec13 ] Received operation status: 0x82
      [2015-01-26 18:53:04,458 TRACE he_Timer-1 AbstractTransport ] Read string is: org.infinispan.server.hotrod.HotRodUnknownOperationException: Unknown operation: 41
      [2015-01-26 18:53:04,458 WARN he_Timer-1 Codec13 ] ISPN004005: Error received from the server: org.infinispan.server.hotrod.HotRodUnknownOperationException: Unknown operation: 41
      [2015-01-26 18:53:04,459 TRACE he_Timer-1 TcpTransportFactory ] Dropping connection as it is no longer valid: TcpTransport

      {socket=Socket[addr=/10.22.6.227,port=11222,localport=59868], serverAddress=/10.22.6.227:11222, id =93}

      [2015-01-26 18:53:04,459 TRACE he_Timer-1 TransportObjectFactory ] About to destroy tcp transport: TcpTransport

      {socket=Socket[addr=/10.22.6.227,port=11222,localport=59868], serverAddress=/10.22.6.227:11222, id =93}

              Unassigned Unassigned
              frank_s_jira Frank Suchy (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: