[ 
https://issues.apache.org/jira/browse/IGNITE-28413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18070662#comment-18070662
 ] 

Pavel Tupitsyn edited comment on IGNITE-28413 at 4/2/26 6:25 PM:
-----------------------------------------------------------------

* The benchmark only performs read operations (getAll on binary KV view), in 16 
threads, sharing one client instance => the only writes come from keys and data 
comes from socket. TBD check how the key looks like - is "field7" a part of key 
or value?
* The servers run as separate processes and can't affect Netty on the client
* Netty ByteBuf can't be used once released (it throws an exception) => 
use-after-free ruled out
* Multiple requests failed with a similar error at the same time, but the 
payload is different in every error. The endpoint is the same. Looks like 
multiple responses have arrived, request headers were decoded on the Netty 
thread correctly, then we jump to. continuation thread and see garbage data 
there.


was (Author: ptupitsyn):
* The benchmark only performs read operations (getAll on binary KV view), in 16 
threads, sharing one client instance => the only writes come from keys and data 
comes from socket. TBD check how the key looks like - is "field7" a part of key 
or value?
* The servers run as separate processes and can't affect Netty on the client
* Netty ByteBuf can't be used once released (it throws an exception) => 
use-after-free ruled out

> Java client: Failed to deserialize server response for getAll. Expected Ext, 
> but got Integer
> --------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-28413
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28413
>             Project: Ignite
>          Issue Type: Bug
>          Components: thin clients ai3, transactions ai3
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Critical
>              Labels: ignite-3
>             Fix For: 3.2
>
>
> Under load in benchmark run on GET_ALL op:
> {code}
> SEVERE: Failed to deserialize server response 
> [remoteAddress=172.25.4.97/172.25.4.97:10800, opCode=15]: Expected Ext, but 
> got Integer (32) at pos 14: '6669656c64373a3231313638383532'
> org.msgpack.core.MessageTypeException: Expected Ext, but got Integer (32) at 
> pos 14: '6669656c64373a3231313638383532'
>       at 
> org.apache.ignite.internal.client.proto.ClientMessageUnpacker.unexpected(ClientMessageUnpacker.java:100)
>       at 
> org.apache.ignite.internal.client.proto.ClientMessageUnpacker.unpackExtensionTypeHeader(ClientMessageUnpacker.java:430)
>       at 
> org.apache.ignite.internal.client.proto.ClientMessageUnpacker.unpackUuid(ClientMessageUnpacker.java:682)
>       at 
> org.apache.ignite.internal.client.tx.DirectTxUtils.readTx(DirectTxUtils.java:209)
>       at 
> org.apache.ignite.internal.client.table.ClientTable.readSchemaAndReadData(ClientTable.java:785)
>       at 
> org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$8(ClientTable.java:684)
>       at 
> org.apache.ignite.internal.client.TcpClientChannel.complete(TcpClientChannel.java:528)
>       at 
> org.apache.ignite.internal.client.TcpClientChannel.lambda$completeAsync$6(TcpClientChannel.java:499)
>       at 
> java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423)
>       at 
> java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
>       at 
> java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
>       at 
> java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
>       at 
> java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
>       at 
> java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
> {code}
> or
> {code}
> SEVERE: Failed to deserialize server response 
> [remoteAddress=172.25.4.97/172.25.4.97:10800, opCode=15]: Expected boolean, 
> but got Integer (73) at pos 22108: 
> '38323832303934333a38363435303230373a3233373633383133313a323035393231383632373a2d323033353530373738393a2d313738757365723833303133373839313036313434343737373a6669656c64383a2d313534373732323139373a2d313938383430323636333a3337353333373334353a2d313534323733383936333a2d3835363432373100006adfce005e080100d30000000000000000ce002f0439d8031800a69d993a9d0100000000964e01acd8036c4e604f40bc0ab24bcaaf32c12dfd97cdea60011ac3c504160117007b00df004301a7010b026f02d30237039b03ff0375736572343738323030323430343538393738393939367573'
> org.msgpack.core.MessageTypeException: Expected boolean, but got Integer (73) 
> at pos 22108: 
> '38323832303934333a38363435303230373a3233373633383133313a323035393231383632373a2d323033353530373738393a2d313738757365723833303133373839313036313434343737373a6669656c64383a2d313534373732323139373a2d313938383430323636333a3337353333373334353a2d313534323733383936333a2d3835363432373100006adfce005e080100d30000000000000000ce002f0439d8031800a69d993a9d0100000000964e01acd8036c4e604f40bc0ab24bcaaf32c12dfd97cdea60011ac3c504160117007b00df004301a7010b026f02d30237039b03ff0375736572343738323030323430343538393738393939367573'
>       at 
> org.apache.ignite.internal.client.proto.ClientMessageUnpacker.unexpected(ClientMessageUnpacker.java:100)
>       at 
> org.apache.ignite.internal.client.proto.ClientMessageUnpacker.unpackBoolean(ClientMessageUnpacker.java:233)
>       at 
> org.apache.ignite.internal.client.table.ClientTupleSerializer.readKvTuplesNullable(ClientTupleSerializer.java:433)
>       at 
> org.apache.ignite.internal.client.table.ClientKeyValueBinaryView.lambda$getAllAsync$3(ClientKeyValueBinaryView.java:129)
>       at 
> org.apache.ignite.internal.client.table.ClientTable.readSchemaAndReadData(ClientTable.java:804)
>       at 
> org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$8(ClientTable.java:684)
>       at 
> org.apache.ignite.internal.client.TcpClientChannel.complete(TcpClientChannel.java:529)
>       at 
> org.apache.ignite.internal.client.TcpClientChannel.lambda$completeAsync$6(TcpClientChannel.java:500)
>       at 
> java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423)
>       at 
> java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
>       at 
> java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
>       at 
> java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
>       at 
> java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
>       at 
> java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
> {code}



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

Reply via email to