[
https://issues.apache.org/jira/browse/IGNITE-22013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17869872#comment-17869872
]
Igor Sapego commented on IGNITE-22013:
--------------------------------------
Looks good to me.
> 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
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)