This is an automated email from the ASF dual-hosted git repository.
shishkovilja 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 aa044084996 IGNITE-27317 Refactor serialization for
TcpDiscoveryAbstractTraceableMessage (#12574)
aa044084996 is described below
commit aa04408499635c86e59cd11cebc05b9402b01514
Author: Vladimir Steshin <[email protected]>
AuthorDate: Wed Jan 28 08:23:10 2026 +0300
IGNITE-27317 Refactor serialization for
TcpDiscoveryAbstractTraceableMessage (#12574)
---
.../discovery/DiscoveryMessageFactory.java | 3 +++
.../TcpDiscoveryAbstractTraceableMessage.java | 24 ++++++++++++++++++++--
.../tcp/messages/TcpDiscoveryNodeLeftMessage.java | 14 ++++++++++++-
3 files changed, 38 insertions(+), 3 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 a31dbf77d13..c1421ae064f 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
@@ -35,6 +35,7 @@ import
org.apache.ignite.internal.codegen.TcpDiscoveryHandshakeResponseSerialize
import
org.apache.ignite.internal.codegen.TcpDiscoveryLoopbackProblemMessageSerializer;
import
org.apache.ignite.internal.codegen.TcpDiscoveryMetricsUpdateMessageSerializer;
import
org.apache.ignite.internal.codegen.TcpDiscoveryNodeFullMetricsMessageSerializer;
+import
org.apache.ignite.internal.codegen.TcpDiscoveryNodeLeftMessageSerializer;
import
org.apache.ignite.internal.codegen.TcpDiscoveryNodeMetricsMessageSerializer;
import org.apache.ignite.internal.codegen.TcpDiscoveryPingRequestSerializer;
import org.apache.ignite.internal.codegen.TcpDiscoveryPingResponseSerializer;
@@ -59,6 +60,7 @@ import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryHandshakeRespons
import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryLoopbackProblemMessage;
import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryMetricsUpdateMessage;
import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeFullMetricsMessage;
+import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeLeftMessage;
import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeMetricsMessage;
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingRequest;
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingResponse;
@@ -92,5 +94,6 @@ public class DiscoveryMessageFactory implements
MessageFactoryProvider {
factory.register((short)13,
TcpDiscoveryClientMetricsUpdateMessage::new, new
TcpDiscoveryClientMetricsUpdateMessageSerializer());
factory.register((short)14, TcpDiscoveryMetricsUpdateMessage::new, new
TcpDiscoveryMetricsUpdateMessageSerializer());
factory.register((short)15, TcpDiscoveryClientAckResponse::new, new
TcpDiscoveryClientAckResponseSerializer());
+ factory.register((short)16, TcpDiscoveryNodeLeftMessage::new, new
TcpDiscoveryNodeLeftMessageSerializer());
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryAbstractTraceableMessage.java
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryAbstractTraceableMessage.java
index 433566d7e30..6b4e9c8872c 100644
---
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryAbstractTraceableMessage.java
+++
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryAbstractTraceableMessage.java
@@ -17,10 +17,12 @@
package org.apache.ignite.spi.discovery.tcp.messages;
-import java.io.Externalizable;
import java.util.UUID;
+import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
import org.apache.ignite.internal.processors.tracing.messages.SpanContainer;
import org.apache.ignite.internal.processors.tracing.messages.TraceableMessage;
+import org.jetbrains.annotations.Nullable;
/**
* Abstract traceable message for TCP discovery.
@@ -29,8 +31,13 @@ public abstract class TcpDiscoveryAbstractTraceableMessage
extends TcpDiscoveryA
/** Container. */
private SpanContainer spanContainer = new SpanContainer();
+ /** Serialization holder of {@link #spanContainer}'s bytes. */
+ @SuppressWarnings("unused")
+ @Order(value = 5, method = "spanBytes")
+ private @Nullable byte[] spanBytesHolder;
+
/**
- * Default no-arg constructor for {@link Externalizable} interface.
+ * Default constructor for {@link DiscoveryMessageFactory}.
*/
protected TcpDiscoveryAbstractTraceableMessage() {
// No-op.
@@ -67,6 +74,19 @@ public abstract class TcpDiscoveryAbstractTraceableMessage
extends TcpDiscoveryA
return this;
}
+ /** @return {@link #spanContainer}'s bytes. */
+ public @Nullable byte[] spanBytes() {
+ return spanContainer == null ? null :
spanContainer.serializedSpanBytes();
+ }
+
+ /** @param spanBytes {@link #spanContainer}'s bytes. */
+ public void spanBytes(@Nullable byte[] spanBytes) {
+ if (spanBytes == null)
+ return;
+
+ spanContainer.serializedSpanBytes(spanBytes);
+ }
+
/** {@inheritDoc} */
@Override public SpanContainer spanContainer() {
return spanContainer;
diff --git
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeLeftMessage.java
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeLeftMessage.java
index 5d6df69b715..8e70196ab05 100644
---
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeLeftMessage.java
+++
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeLeftMessage.java
@@ -18,7 +18,9 @@
package org.apache.ignite.spi.discovery.tcp.messages;
import java.util.UUID;
+import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.plugin.extensions.communication.Message;
/**
* Sent by node that is stopping to coordinator across the ring,
@@ -26,10 +28,15 @@ import org.apache.ignite.internal.util.typedef.internal.S;
*/
@TcpDiscoveryEnsureDelivery
@TcpDiscoveryRedirectToClient
-public class TcpDiscoveryNodeLeftMessage extends
TcpDiscoveryAbstractTraceableMessage {
+public class TcpDiscoveryNodeLeftMessage extends
TcpDiscoveryAbstractTraceableMessage implements Message {
/** */
private static final long serialVersionUID = 0L;
+ /** Constructor for {@link DiscoveryMessageFactory}. */
+ public TcpDiscoveryNodeLeftMessage() {
+ // No-op.
+ }
+
/**
* Constructor.
*
@@ -39,6 +46,11 @@ public class TcpDiscoveryNodeLeftMessage extends
TcpDiscoveryAbstractTraceableMe
super(creatorNodeId);
}
+ /** {@inheritDoc} */
+ @Override public short directType() {
+ return 16;
+ }
+
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(TcpDiscoveryNodeLeftMessage.class, this, "super",
super.toString());