Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-13401

Unsupported protocol version exception when getting cache configuration from Java thin client

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.8.1
    • 2.10, 2.9.1
    • thin client
    • Java thin client: Fixed unmarshalling failure when cache configuration message or binary type message start with byte 103
    • Release Notes Required

    Description

      We encounter BinaryObjectException: Unsupported protocol version: 8 in one of our tables in Ignite when querying cache configuration via Java thin client. To reproduce:

      1. Setup Ignite with persistence disabled (single node)
      2. Create the follow table:
      CREATE TABLE IF NOT EXISTS LEOD_CONTEXT_STATUS
      (
          flashNode             VARCHAR   NOT NULL,
          legalEntity           VARCHAR   NOT NULL,
          account               VARCHAR   NOT NULL,
          userId                VARCHAR   NOT NULL,
          eqtgContext           VARCHAR   NOT NULL,
          submissionDate        INT       NOT NULL,
          action                VARCHAR   NOT NULL,
          actionTime            TIME      NOT NULL,
          runNumber             INT       NOT NULL,
          segment               VARCHAR   NOT NULL,
          geography             VARCHAR   NOT NULL,
          priceVersion          VARCHAR   NOT NULL,
          status                VARCHAR   NOT NULL,
          errorCount            INT       NOT NULL,
          comments              VARCHAR,
          equityDeltaLowerBound DOUBLE,
          equityDeltaUpperBound DOUBLE,
          equityDeltaUtil       DOUBLE,
          equityVegaLowerBound  DOUBLE,
          equityVegaUpperBound  DOUBLE,
          equityVegaUtil        DOUBLE,
          lastUpdateTime        TIMESTAMP NOT NULL,
          PRIMARY KEY (flashNode, legalEntity, account, submissionDate)
      )
      WITH "template=REPLICATED, cache_name=LeodContextStatusCache";
      1. Run the following test (in Kotlin):
      @Test
      fun `moo`() {
          val config = ClientConfiguration()
              .setAddresses("localhost:10800")
      
          val ignite = Ignition.startClient(config)
      
          ignite.cache<Any, Any>("LeodContextStatusCache")
              .configuration
      }
      
      1. It fails in the following exception:
      class org.apache.ignite.binary.BinaryObjectException: Unsupported protocol version: 8
       at org.apache.ignite.internal.binary.BinaryUtils.checkProtocolVersion(BinaryUtils.java:796) at org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:221) at org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:186) at org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:165) at org.apache.ignite.internal.client.thin.ClientUtils.cacheConfiguration(ClientUtils.java:381) at org.apache.ignite.internal.client.thin.TcpClientCache.lambda$getConfiguration$2(TcpClientCache.java:160) at org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:247) at org.apache.ignite.internal.client.thin.TcpClientChannel.service(TcpClientChannel.java:171) at org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:180) at org.apache.ignite.internal.client.thin.TcpClientCache.getConfiguration(TcpClientCache.java:155)
      

      I notice that if any one of the columns is removed, the issue disappears.

      Attachments

        Issue Links

          Activity

            People

              alex_pl Aleksey Plekhanov
              marcuslo Marcus Lo
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m