This is an automated email from the ASF dual-hosted git repository.
namelchev 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 9eb86031c34 IGNITE-28051 Use MessageSerializer for
ServiceChangeBatchRequest, ServiceClusterDeploymentResultBatch (#12895)
9eb86031c34 is described below
commit 9eb86031c34c589c626d59784752247ef75fff7f
Author: Alexey Abashev <[email protected]>
AuthorDate: Tue Mar 31 15:47:53 2026 +0300
IGNITE-28051 Use MessageSerializer for ServiceChangeBatchRequest,
ServiceClusterDeploymentResultBatch (#12895)
---
.../discovery/DiscoveryMessageFactory.java | 27 ++++++++++++++--
.../service/ServiceChangeAbstractRequest.java | 19 +++---------
.../service/ServiceChangeBatchRequest.java | 18 ++++++++---
.../service/ServiceClusterDeploymentResult.java | 19 +++++++-----
.../ServiceClusterDeploymentResultBatch.java | 21 ++++++++++---
.../service/ServiceDeploymentRequest.java | 36 +++++++++++++++++-----
.../service/ServiceUndeploymentRequest.java | 8 +++--
7 files changed, 106 insertions(+), 42 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
index a61c994b7fb..5e05b7d8757 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
@@ -125,6 +125,20 @@ import
org.apache.ignite.internal.processors.query.schema.operation.SchemaIndexC
import
org.apache.ignite.internal.processors.query.schema.operation.SchemaIndexCreateOperationMarshallableSerializer;
import
org.apache.ignite.internal.processors.query.schema.operation.SchemaIndexDropOperation;
import
org.apache.ignite.internal.processors.query.schema.operation.SchemaIndexDropOperationSerializer;
+import org.apache.ignite.internal.processors.service.ServiceChangeBatchRequest;
+import
org.apache.ignite.internal.processors.service.ServiceChangeBatchRequestSerializer;
+import
org.apache.ignite.internal.processors.service.ServiceClusterDeploymentResult;
+import
org.apache.ignite.internal.processors.service.ServiceClusterDeploymentResultBatch;
+import
org.apache.ignite.internal.processors.service.ServiceClusterDeploymentResultBatchSerializer;
+import
org.apache.ignite.internal.processors.service.ServiceClusterDeploymentResultSerializer;
+import
org.apache.ignite.internal.processors.service.ServiceDeploymentProcessId;
+import
org.apache.ignite.internal.processors.service.ServiceDeploymentProcessIdSerializer;
+import org.apache.ignite.internal.processors.service.ServiceDeploymentRequest;
+import
org.apache.ignite.internal.processors.service.ServiceDeploymentRequestMarshallableSerializer;
+import
org.apache.ignite.internal.processors.service.ServiceSingleNodeDeploymentResult;
+import
org.apache.ignite.internal.processors.service.ServiceSingleNodeDeploymentResultSerializer;
+import
org.apache.ignite.internal.processors.service.ServiceUndeploymentRequest;
+import
org.apache.ignite.internal.processors.service.ServiceUndeploymentRequestSerializer;
import org.apache.ignite.internal.util.distributed.FullMessage;
import org.apache.ignite.internal.util.distributed.FullMessageSerializer;
import org.apache.ignite.internal.util.distributed.InitMessage;
@@ -293,6 +307,10 @@ public class DiscoveryMessageFactory implements
MessageFactoryProvider {
factory.register(86, GridCacheVersion::new, new
GridCacheVersionSerializer());
+ factory.register(167, ServiceDeploymentProcessId::new, new
ServiceDeploymentProcessIdSerializer());
+ factory.register(169, ServiceSingleNodeDeploymentResult::new, new
ServiceSingleNodeDeploymentResultSerializer());
+ factory.register(170, ServiceClusterDeploymentResult::new, new
ServiceClusterDeploymentResultSerializer());
+
// DiscoveryCustomMessage
factory.register(500, CacheStatisticsModeChangeMessage::new, new
CacheStatisticsModeChangeMessageSerializer());
factory.register(501, SecurityAwareCustomMessageWrapper::new,
@@ -336,7 +354,12 @@ public class DiscoveryMessageFactory implements
MessageFactoryProvider {
new ChangeGlobalStateMessageMarshallableSerializer(marsh, clsLdr));
factory.register(533, ClientCacheChangeDummyDiscoveryMessage::new,
new
ClientCacheChangeDummyDiscoveryMessageMarshallableSerializer(marsh, clsLdr));
- factory.register(534, DynamicCacheChangeBatch::new,
- new DynamicCacheChangeBatchMarshallableSerializer(marsh, clsLdr));
+ factory.register(534, DynamicCacheChangeBatch::new, new
DynamicCacheChangeBatchMarshallableSerializer(marsh, clsLdr));
+ factory.register(535, ServiceClusterDeploymentResultBatch::new,
+ new ServiceClusterDeploymentResultBatchSerializer());
+ factory.register(536, ServiceChangeBatchRequest::new, new
ServiceChangeBatchRequestSerializer());
+ factory.register(537, ServiceDeploymentRequest::new,
+ new ServiceDeploymentRequestMarshallableSerializer(marsh, clsLdr));
+ factory.register(538, ServiceUndeploymentRequest::new, new
ServiceUndeploymentRequestSerializer());
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeAbstractRequest.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeAbstractRequest.java
index d083aad0126..48e26a6980e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeAbstractRequest.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeAbstractRequest.java
@@ -17,27 +17,18 @@
package org.apache.ignite.internal.processors.service;
-import java.io.Serializable;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
-import org.jetbrains.annotations.NotNull;
+import org.apache.ignite.plugin.extensions.communication.Message;
/**
* Abstract class for service change requests.
*/
-abstract class ServiceChangeAbstractRequest implements Serializable {
- /** */
- private static final long serialVersionUID = 0L;
-
+abstract class ServiceChangeAbstractRequest implements Message {
/** Service id. */
- protected final IgniteUuid srvcId;
-
- /**
- * @param srvcId Service id.
- */
- protected ServiceChangeAbstractRequest(@NotNull IgniteUuid srvcId) {
- this.srvcId = srvcId;
- }
+ @Order(0)
+ IgniteUuid srvcId;
/**
* @return Service id.
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeBatchRequest.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeBatchRequest.java
index 854bf368226..875432ccbfb 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeBatchRequest.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceChangeBatchRequest.java
@@ -19,31 +19,40 @@ package org.apache.ignite.internal.processors.service;
import java.util.Collection;
import java.util.Collections;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.jetbrains.annotations.Nullable;
/**
* Service change batch request discovery message.
*/
-public class ServiceChangeBatchRequest implements DiscoveryCustomMessage {
+public class ServiceChangeBatchRequest implements DiscoveryCustomMessage,
Message {
/** */
private static final long serialVersionUID = 0L;
/** Unique custom message ID. */
- private final IgniteUuid id = IgniteUuid.randomUuid();
+ @Order(0)
+ IgniteUuid id;
/** Change requests. */
@GridToStringInclude
- private final Collection<ServiceChangeAbstractRequest> reqs;
+ @Order(1)
+ Collection<ServiceChangeAbstractRequest> reqs;
/** Services deployment actions to be processed on services deployment
process. */
@GridToStringExclude
- @Nullable private transient ServiceDeploymentActions
serviceDeploymentActions;
+ @Nullable private ServiceDeploymentActions serviceDeploymentActions;
+
+ /** Default constructor for {@link MessageFactory}. */
+ public ServiceChangeBatchRequest() {
+ }
/**
* @param reqs Change requests.
@@ -51,6 +60,7 @@ public class ServiceChangeBatchRequest implements
DiscoveryCustomMessage {
public ServiceChangeBatchRequest(Collection<ServiceChangeAbstractRequest>
reqs) {
assert !F.isEmpty(reqs);
+ id = IgniteUuid.randomUuid();
this.reqs = reqs;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResult.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResult.java
index 45e2c529392..655f70dfd45 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResult.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResult.java
@@ -17,13 +17,15 @@
package org.apache.ignite.internal.processors.service;
-import java.io.Serializable;
import java.util.Collections;
import java.util.Map;
import java.util.UUID;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.jetbrains.annotations.NotNull;
/**
@@ -31,16 +33,19 @@ import org.jetbrains.annotations.NotNull;
* <p/>
* Contains coint of deployed service and deployment errors across the cluster
mapped to nodes ids.
*/
-public class ServiceClusterDeploymentResult implements Serializable {
- /** */
- private static final long serialVersionUID = 0L;
-
+public class ServiceClusterDeploymentResult implements Message {
/** Service id. */
- private final IgniteUuid srvcId;
+ @Order(0)
+ IgniteUuid srvcId;
/** Per node deployments results. */
+ @Order(1)
@GridToStringInclude
- private final Map<UUID, ServiceSingleNodeDeploymentResult> results;
+ Map<UUID, ServiceSingleNodeDeploymentResult> results;
+
+ /** Default constructor for {@link MessageFactory}. */
+ public ServiceClusterDeploymentResult() {
+ }
/**
* @param srvcId Service id.
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResultBatch.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResultBatch.java
index 3c4f1cc785d..f947d54131e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResultBatch.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceClusterDeploymentResultBatch.java
@@ -18,11 +18,14 @@
package org.apache.ignite.internal.processors.service;
import java.util.Collection;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -31,23 +34,30 @@ import org.jetbrains.annotations.Nullable;
* <p/>
* Contains collection of {@link ServiceClusterDeploymentResult}.
*/
-public class ServiceClusterDeploymentResultBatch implements
DiscoveryCustomMessage {
+public class ServiceClusterDeploymentResultBatch implements
DiscoveryCustomMessage, Message {
/** */
private static final long serialVersionUID = 0L;
/** Unique custom message ID. */
- private final IgniteUuid id = IgniteUuid.randomUuid();
+ @Order(0)
+ IgniteUuid id;
/** Deployment process id. */
- private final ServiceDeploymentProcessId depId;
+ @Order(1)
+ ServiceDeploymentProcessId depId;
/** Services deployments results. */
+ @Order(2)
@GridToStringInclude
- private Collection<ServiceClusterDeploymentResult> results;
+ Collection<ServiceClusterDeploymentResult> results;
/** Services deployment actions to be processed on services deployment
process. */
@GridToStringExclude
- @Nullable private transient ServiceDeploymentActions
serviceDeploymentActions;
+ @Nullable private ServiceDeploymentActions serviceDeploymentActions;
+
+ /** Default constructor for {@link MessageFactory}. */
+ public ServiceClusterDeploymentResultBatch() {
+ }
/**
* @param depId Deployment process id.
@@ -55,6 +65,7 @@ public class ServiceClusterDeploymentResultBatch implements
DiscoveryCustomMessa
*/
public ServiceClusterDeploymentResultBatch(@NotNull
ServiceDeploymentProcessId depId,
@NotNull Collection<ServiceClusterDeploymentResult> results) {
+ this.id = IgniteUuid.randomUuid();
this.depId = depId;
this.results = results;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentRequest.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentRequest.java
index ba7152ed187..4d1813477ad 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentRequest.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentRequest.java
@@ -17,27 +17,37 @@
package org.apache.ignite.internal.processors.service;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.plugin.extensions.communication.MarshallableMessage;
+import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.jetbrains.annotations.NotNull;
/**
* Service deployment request.
*/
-public class ServiceDeploymentRequest extends ServiceChangeAbstractRequest {
- /** */
- private static final long serialVersionUID = 0L;
-
+public class ServiceDeploymentRequest extends ServiceChangeAbstractRequest
implements MarshallableMessage {
/** Service configuration. */
- private final LazyServiceConfiguration cfg;
+ private LazyServiceConfiguration cfg;
+
+ /** JDK serialization for {@link #cfg}. */
+ @Order(0)
+ byte[] cfgBytes;
+
+ /** Default constructor for {@link MessageFactory}. */
+ public ServiceDeploymentRequest() {
+ }
/**
* @param srvcId Service id.
* @param cfg Service configuration.
*/
public ServiceDeploymentRequest(@NotNull IgniteUuid srvcId, @NotNull
LazyServiceConfiguration cfg) {
- super(srvcId);
-
+ this.srvcId = srvcId;
this.cfg = cfg;
}
@@ -48,6 +58,18 @@ public class ServiceDeploymentRequest extends
ServiceChangeAbstractRequest {
return cfg;
}
+ /** {@inheritDoc} */
+ @Override public void prepareMarshal(Marshaller marsh) throws
IgniteCheckedException {
+ if (cfg != null)
+ cfgBytes = U.marshal(marsh, cfg);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void finishUnmarshal(Marshaller marsh, ClassLoader
clsLdr) throws IgniteCheckedException {
+ if (cfgBytes != null)
+ cfg = U.unmarshal(marsh, cfgBytes, clsLdr);
+ }
+
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(ServiceDeploymentRequest.class, this);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceUndeploymentRequest.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceUndeploymentRequest.java
index 54823628b73..5a5911c6533 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceUndeploymentRequest.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceUndeploymentRequest.java
@@ -19,20 +19,22 @@ package org.apache.ignite.internal.processors.service;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.jetbrains.annotations.NotNull;
/**
* Service undeployment request.
*/
public class ServiceUndeploymentRequest extends ServiceChangeAbstractRequest {
- /** */
- private static final long serialVersionUID = 0L;
+ /** Default constructor for {@link MessageFactory}. */
+ public ServiceUndeploymentRequest() {
+ }
/**
* @param srvcId Service id.
*/
public ServiceUndeploymentRequest(@NotNull IgniteUuid srvcId) {
- super(srvcId);
+ this.srvcId = srvcId;
}
/** {@inheritDoc} */