[ 
https://issues.apache.org/jira/browse/IGNITE-22013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-22013:
------------------------------------
    Description: 
Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
mode, but not in thin client mode:
{code:java}
    @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)));
    }
{code}

Exception:
{code}
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
{code}

* Add a test for .NET client too

  was:
Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
mode, but not in thin client mode:
{code:java}
    @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)));
    }
{code}

* Add a test for .NET client too


> Java thin 3.0: KeyValueView does not work with single-column table
> ------------------------------------------------------------------
>
>                 Key: IGNITE-22013
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22013
>             Project: Ignite
>          Issue Type: Bug
>          Components: thin client
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
> mode, but not in thin client mode:
> {code:java}
>     @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)));
>     }
> {code}
> Exception:
> {code}
> 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
> {code}
> * Add a test for .NET client too



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to