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

Reply via email to