valepakh commented on code in PR #4817: URL: https://github.com/apache/ignite-3/pull/4817#discussion_r1867978225
########## modules/compute/src/main/java/org/apache/ignite/internal/compute/ComputeUtils.java: ########## @@ -509,7 +510,7 @@ static ComputeJobDataHolder marshalAndWrapResult(Object result, @Nullable Marsha // Value is represented by 3 tuple elements: type, scale, value. var builder = new BinaryTupleBuilder(3, 3, false); ClientBinaryTupleUtils.appendObject(builder, result); - return new ComputeJobDataHolder(NATIVE, builder.build().array()); + return new ComputeJobDataHolder(NATIVE, IgniteUtils.byteBufferToByteArray(builder.build())); Review Comment: The data holder needed only for sending the binary data between nodes. So this particular method `marshalAndWrapResult` is called on the target node before returning the execution result to the client handler node. So this data holder is immediately marshalled using the network messaging, which doesn't support byte buffers. It will probably marshal simple heap byte buffers but definitely not the native buffers. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org