Skip to content

Commit 08683e1

Browse files
committed
raw
1 parent 098ddec commit 08683e1

File tree

4 files changed

+41
-5
lines changed

4 files changed

+41
-5
lines changed

modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@
2020
import org.apache.ignite.internal.codegen.TcpDiscoveryCheckFailedMessageSerializer;
2121
import org.apache.ignite.internal.codegen.TcpDiscoveryClientPingRequestSerializer;
2222
import org.apache.ignite.internal.codegen.TcpDiscoveryClientPingResponseSerializer;
23+
import org.apache.ignite.internal.codegen.TcpDiscoveryNodeLeftMessageSerializer;
2324
import org.apache.ignite.internal.codegen.TcpDiscoveryPingRequestSerializer;
2425
import org.apache.ignite.internal.codegen.TcpDiscoveryPingResponseSerializer;
2526
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
2627
import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
2728
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage;
2829
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryClientPingRequest;
2930
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryClientPingResponse;
31+
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeLeftMessage;
3032
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingRequest;
3133
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingResponse;
3234

@@ -39,5 +41,6 @@ public class DiscoveryMessageFactory implements MessageFactoryProvider {
3941
factory.register((short)2, TcpDiscoveryPingResponse::new, new TcpDiscoveryPingResponseSerializer());
4042
factory.register((short)3, TcpDiscoveryClientPingRequest::new, new TcpDiscoveryClientPingRequestSerializer());
4143
factory.register((short)4, TcpDiscoveryClientPingResponse::new, new TcpDiscoveryClientPingResponseSerializer());
44+
factory.register((short)5, TcpDiscoveryNodeLeftMessage::new, new TcpDiscoveryNodeLeftMessageSerializer());
4245
}
4346
}

modules/core/src/main/java/org/apache/ignite/internal/processors/tracing/messages/SpanContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public byte[] serializedSpanBytes() {
4646
* @param serializedSpan Serialized span.
4747
*/
4848
public void serializedSpanBytes(byte[] serializedSpan) {
49-
this.serializedSpanBytes = serializedSpan.clone();
49+
serializedSpanBytes = serializedSpan.clone();
5050
}
5151

5252
/**

modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryAbstractTraceableMessage.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@
1717

1818
package org.apache.ignite.spi.discovery.tcp.messages;
1919

20-
import java.io.Externalizable;
2120
import java.util.UUID;
21+
import org.apache.ignite.internal.Order;
22+
import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
2223
import org.apache.ignite.internal.processors.tracing.messages.SpanContainer;
2324
import org.apache.ignite.internal.processors.tracing.messages.TraceableMessage;
25+
import org.jetbrains.annotations.Nullable;
2426

2527
/**
2628
* Abstract traceable message for TCP discovery.
@@ -29,8 +31,12 @@ public abstract class TcpDiscoveryAbstractTraceableMessage extends TcpDiscoveryA
2931
/** Container. */
3032
private SpanContainer spanContainer = new SpanContainer();
3133

34+
/** Serialization holder of {@link #spanContainer}'s bytes. */
35+
@Order(value = 5, method = "spanBytes")
36+
private @Nullable byte[] spanBytesHolder;
37+
3238
/**
33-
* Default no-arg constructor for {@link Externalizable} interface.
39+
* Default constructor for {@link DiscoveryMessageFactory}.
3440
*/
3541
protected TcpDiscoveryAbstractTraceableMessage() {
3642
// No-op.
@@ -51,7 +57,7 @@ protected TcpDiscoveryAbstractTraceableMessage(UUID creatorNodeId) {
5157
protected TcpDiscoveryAbstractTraceableMessage(TcpDiscoveryAbstractTraceableMessage msg) {
5258
super(msg);
5359

54-
this.spanContainer = msg.spanContainer;
60+
spanContainer = msg.spanContainer;
5561
}
5662

5763
/**
@@ -67,6 +73,21 @@ public Object readResolve() {
6773
return this;
6874
}
6975

76+
/** @return {@link #spanContainer}'s bytes. */
77+
public @Nullable byte[] spanBytes() {
78+
return spanContainer == null ? null : spanContainer.serializedSpanBytes();
79+
}
80+
81+
/** @param spanBytes {@link #spanContainer}'s bytes. */
82+
public void spanBytes(@Nullable byte[] spanBytes) {
83+
if (spanBytes == null)
84+
return;
85+
86+
readResolve();
87+
88+
spanContainer.serializedSpanBytes(spanBytes);
89+
}
90+
7091
/** {@inheritDoc} */
7192
@Override public SpanContainer spanContainer() {
7293
return spanContainer;

modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeLeftMessage.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,25 @@
1818
package org.apache.ignite.spi.discovery.tcp.messages;
1919

2020
import java.util.UUID;
21+
import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
2122
import org.apache.ignite.internal.util.typedef.internal.S;
23+
import org.apache.ignite.plugin.extensions.communication.Message;
2224

2325
/**
2426
* Sent by node that is stopping to coordinator across the ring,
2527
* then sent by coordinator across the ring.
2628
*/
2729
@TcpDiscoveryEnsureDelivery
2830
@TcpDiscoveryRedirectToClient
29-
public class TcpDiscoveryNodeLeftMessage extends TcpDiscoveryAbstractTraceableMessage {
31+
public class TcpDiscoveryNodeLeftMessage extends TcpDiscoveryAbstractTraceableMessage implements Message {
3032
/** */
3133
private static final long serialVersionUID = 0L;
3234

35+
/** Default constructor for {@link DiscoveryMessageFactory}. */
36+
public TcpDiscoveryNodeLeftMessage() {
37+
// No-op.
38+
}
39+
3340
/**
3441
* Constructor.
3542
*
@@ -43,4 +50,9 @@ public TcpDiscoveryNodeLeftMessage(UUID creatorNodeId) {
4350
@Override public String toString() {
4451
return S.toString(TcpDiscoveryNodeLeftMessage.class, this, "super", super.toString());
4552
}
53+
54+
/** */
55+
@Override public short directType() {
56+
return 5;
57+
}
4658
}

0 commit comments

Comments
 (0)