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

Java thin 3.0: KeyValueView does not work with single-column table

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 3.0.0-beta2
    • thin client

    Description

      Add the following test to ItTablePutGetEmbeddedTest, it works in embedded mode, but not in thin client mode:

          @Test
          public void testKVWithoutVClient() {
              String tableName = "TEST_TABLE_1";
      
              sql("CREATE TABLE " + tableName + " (id int primary key)");
              sql("INSERT INTO " + tableName + " (id) VALUES (1)");
      
      
              KeyValueView<Tuple, Tuple> kvView = tables().table(tableName).keyValueView();
      
              Assertions.assertDoesNotThrow(() -> kvView.get(null, Tuple.create().set("id", 1)));
          }
      

      Exception:

      org.opentest4j.AssertionFailedError: Unexpected exception thrown: org.apache.ignite.lang.IgniteException: Failed to deserialize server response: columnCount > 0
      
      	at org.apache.ignite.internal.table.ItTablePutGetEmbeddedTest.testKVWithoutVClient(ItTablePutGetEmbeddedTest.java:57)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
      Caused by: org.apache.ignite.lang.IgniteException: IGN-CLIENT-2 TraceId:3301aea6-56cd-4aa5-862d-e5de576ff50e Failed to deserialize server response: columnCount > 0
      	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
      	at org.apache.ignite.internal.util.ExceptionUtils$1.copy(ExceptionUtils.java:765)
      	at org.apache.ignite.internal.util.ExceptionUtils$ExceptionFactory.createCopy(ExceptionUtils.java:699)
      	at org.apache.ignite.internal.util.ExceptionUtils.copyExceptionWithCause(ExceptionUtils.java:525)
      	at org.apache.ignite.internal.client.ClientUtils.copyExceptionWithCauseIfPossible(ClientUtils.java:73)
      	at org.apache.ignite.internal.client.ClientUtils.ensurePublicException(ClientUtils.java:54)
      	at org.apache.ignite.internal.client.ClientUtils.sync(ClientUtils.java:97)
      	at org.apache.ignite.internal.client.table.ClientKeyValueBinaryView.get(ClientKeyValueBinaryView.java:75)
      	at org.apache.ignite.internal.client.table.ClientKeyValueBinaryView.get(ClientKeyValueBinaryView.java:56)
      	at org.apache.ignite.internal.table.ItTablePutGetEmbeddedTest.lambda$testKVWithoutVClient$0(ItTablePutGetEmbeddedTest.java:57)
      	... 4 more
      Caused by: org.apache.ignite.lang.IgniteException: IGN-CLIENT-2 TraceId:3301aea6-56cd-4aa5-862d-e5de576ff50e Failed to deserialize server response: columnCount > 0
      	at org.apache.ignite.internal.client.TcpClientChannel.complete(TcpClientChannel.java:376)
      	at org.apache.ignite.internal.client.TcpClientChannel.processNextMessage(TcpClientChannel.java:415)
      	at org.apache.ignite.internal.client.TcpClientChannel.lambda$onMessage$3(TcpClientChannel.java:238)
      	at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
      	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
      	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
      	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
      	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
      	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
      Caused by: java.lang.AssertionError: columnCount > 0
      	at org.apache.ignite.internal.client.table.MutableTupleBinaryTupleAdapter.<init>(MutableTupleBinaryTupleAdapter.java:59)
      	at org.apache.ignite.internal.client.table.ClientTuple.<init>(ClientTuple.java:58)
      	at org.apache.ignite.internal.client.table.ClientTupleSerializer.readValueTuple(ClientTupleSerializer.java:340)
      	at org.apache.ignite.internal.client.table.ClientKeyValueBinaryView.lambda$getAsync$1(ClientKeyValueBinaryView.java:86)
      	at org.apache.ignite.internal.client.table.ClientTable.readSchemaAndReadData(ClientTable.java:511)
      	at org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$6(ClientTable.java:427)
      	at org.apache.ignite.internal.client.TcpClientChannel.complete(TcpClientChannel.java:370)
      	... 8 more
      
      • Add a test for .NET client too

      Attachments

        Activity

          People

            ptupitsyn Pavel Tupitsyn
            ptupitsyn Pavel Tupitsyn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: