This is an automated email from the ASF dual-hosted git repository.
av pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new d4f8350087d IGNITE-28541 Use MarshallableMessage for the compute
messages (#13024)
d4f8350087d is described below
commit d4f8350087d17ed426b06e4deea8989147bc9765
Author: Vladimir Steshin <[email protected]>
AuthorDate: Thu Apr 16 19:15:40 2026 +0300
IGNITE-28541 Use MarshallableMessage for the compute messages (#13024)
---
.../ignite/internal/GridJobSiblingsResponse.java | 25 +++++------------
.../internal/processors/job/GridJobProcessor.java | 11 --------
.../rest/handlers/task/GridTaskCommandHandler.java | 9 +-----
.../rest/handlers/task/GridTaskResultResponse.java | 32 ++++++++--------------
.../processors/task/GridTaskProcessor.java | 5 ----
5 files changed, 20 insertions(+), 62 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
index 57f04892d4d..99f537e9ab3 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
@@ -23,13 +23,12 @@ import org.apache.ignite.compute.ComputeJobSibling;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.marshaller.Marshaller;
-import org.apache.ignite.plugin.extensions.communication.Message;
import org.jetbrains.annotations.Nullable;
/**
* Job siblings response.
*/
-public class GridJobSiblingsResponse implements Message {
+public class GridJobSiblingsResponse implements MarshallableMessage {
/** */
private @Nullable Collection<ComputeJobSibling> siblings;
@@ -58,23 +57,14 @@ public class GridJobSiblingsResponse implements Message {
return siblings;
}
- /**
- * Marshals siblings to byte array.
- *
- * @param marsh Marshaller.
- * @throws IgniteCheckedException In case of error.
- */
- public void marshalSiblings(Marshaller marsh) throws
IgniteCheckedException {
- siblingsBytes = U.marshal(marsh, siblings);
+ /** {@inheritDoc} */
+ @Override public void prepareMarshal(Marshaller marsh) throws
IgniteCheckedException {
+ if (siblings != null)
+ siblingsBytes = U.marshal(marsh, siblings);
}
- /**
- * Unmarshals siblings from byte array.
- *
- * @param marsh Marshaller.
- * @throws IgniteCheckedException In case of error.
- */
- public void unmarshalSiblings(Marshaller marsh) throws
IgniteCheckedException {
+ /** {@inheritDoc} */
+ @Override public void finishUnmarshal(Marshaller marsh, ClassLoader
clsLdr) throws IgniteCheckedException {
assert marsh != null;
if (siblingsBytes != null) {
@@ -84,7 +74,6 @@ public class GridJobSiblingsResponse implements Message {
}
}
-
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(GridJobSiblingsResponse.class, this);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
index 3a5924c9684..4fd610343ad 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/job/GridJobProcessor.java
@@ -655,17 +655,6 @@ public class GridJobProcessor extends GridProcessorAdapter
{
else {
// Sender and message type are fine.
res = (GridJobSiblingsResponse)msg;
-
- if (res.jobSiblings() == null) {
- try {
- res.unmarshalSiblings(marsh);
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to unmarshal job siblings.",
e);
-
- err = e.getMessage();
- }
- }
}
lock.lock();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
index 31772b180dd..878b33f8169 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskCommandHandler.java
@@ -133,7 +133,7 @@ public class GridTaskCommandHandler extends
GridRestCommandHandlerAdapter {
if (err != null)
res.error(err.getMessage());
else
- res.marshalResult(ctx, desc.result());
+ res.res = desc.result();
}
else
res.found(false);
@@ -430,13 +430,6 @@ public class GridTaskCommandHandler extends
GridRestCommandHandlerAdapter {
// Sender and message type are fine.
res = (GridTaskResultResponse)msg;
- try {
- res.unmarshalResult(ctx);
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to unmarshal task result: " + res, e);
- }
-
lock.lock();
try {
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
index c7f64ae508e..ff0f3af4ffc 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
@@ -18,22 +18,22 @@
package org.apache.ignite.internal.processors.rest.handlers.task;
import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.GridKernalContext;
+import org.apache.ignite.internal.MarshallableMessage;
import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.marshaller.Marshaller;
import org.jetbrains.annotations.Nullable;
/**
* Task result response.
*/
-public class GridTaskResultResponse implements Message {
+public class GridTaskResultResponse implements MarshallableMessage {
/** Result. */
- private @Nullable Object res;
+ public @Nullable Object res;
/** Serialized result. */
@Order(0)
- byte[] resBytes;
+ @Nullable byte[] resBytes;
/** Finished flag. */
@Order(1)
@@ -96,24 +96,16 @@ public class GridTaskResultResponse implements Message {
this.err = err;
}
- /**
- * Marshals task result to byte array.
- *
- * @param ctx Context.
- * @param res Task result.
- */
- public void marshalResult(GridKernalContext ctx, @Nullable Object res)
throws IgniteCheckedException {
- resBytes = U.marshal(ctx, res);
+ /** {@inheritDoc} */
+ @Override public void prepareMarshal(Marshaller marsh) throws
IgniteCheckedException {
+ if (res != null)
+ resBytes = U.marshal(marsh, res);
}
- /**
- * Unmarshals task result from byte array.
- *
- * @param ctx Context.
- */
- public void unmarshalResult(GridKernalContext ctx) throws
IgniteCheckedException {
+ /** {@inheritDoc} */
+ @Override public void finishUnmarshal(Marshaller marsh, ClassLoader
clsLdr) throws IgniteCheckedException {
if (resBytes != null) {
- res = U.unmarshal(ctx, resBytes,
U.resolveClassLoader(ctx.config()));
+ res = U.unmarshal(marsh, resBytes, clsLdr);
// It is not required anymore.
resBytes = null;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
index 04b887d809c..f2570dffade 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
@@ -1418,13 +1418,8 @@ public class GridTaskProcessor extends
GridProcessorAdapter implements IgniteCha
try {
Object topic = TOPIC_JOB_SIBLINGS.topic(req.sessionId(),
req.topicId());
- boolean loc = ctx.localNodeId().equals(nodeId);
-
GridJobSiblingsResponse resp = new
GridJobSiblingsResponse(siblings);
- if (!loc)
- resp.marshalSiblings(marsh);
-
ctx.io().sendToCustomTopic(nodeId, topic, resp,
SYSTEM_POOL);
}
catch (IgniteCheckedException e) {