Skip to content

Commit 8f9582b

Browse files
committed
IGNITE-27992 Use MessageSerializer for WalStateAbstractMessage and successors
1 parent c8b66a0 commit 8f9582b

File tree

4 files changed

+55
-11
lines changed

4 files changed

+55
-11
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717

1818
package org.apache.ignite.internal.managers.discovery;
1919

20+
import org.apache.ignite.internal.processors.cache.WalStateFinishMessage;
21+
import org.apache.ignite.internal.processors.cache.WalStateFinishMessageSerializer;
22+
import org.apache.ignite.internal.processors.cache.WalStateProposeMessage;
23+
import org.apache.ignite.internal.processors.cache.WalStateProposeMessageSerializer;
2024
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
2125
import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
2226
import org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket;
@@ -113,5 +117,8 @@ public class DiscoveryMessageFactory implements MessageFactoryProvider {
113117
factory.register((short)18, TcpDiscoveryStatusCheckMessage::new, new TcpDiscoveryStatusCheckMessageSerializer());
114118
factory.register((short)19, TcpDiscoveryNodeAddFinishedMessage::new, new TcpDiscoveryNodeAddFinishedMessageSerializer());
115119
factory.register((short)20, TcpDiscoveryJoinRequestMessage::new, new TcpDiscoveryJoinRequestMessageSerializer());
120+
121+
factory.register((short)500, WalStateFinishMessage::new, new WalStateFinishMessageSerializer());
122+
factory.register((short)501, WalStateProposeMessage::new, new WalStateProposeMessageSerializer());
116123
}
117124
}

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/WalStateAbstractMessage.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,46 @@
1818
package org.apache.ignite.internal.processors.cache;
1919

2020
import java.util.UUID;
21+
import org.apache.ignite.internal.Order;
2122
import org.apache.ignite.internal.managers.discovery.DiscoCache;
2223
import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
2324
import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager;
2425
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
2526
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
2627
import org.apache.ignite.internal.util.typedef.internal.S;
2728
import org.apache.ignite.lang.IgniteUuid;
29+
import org.apache.ignite.plugin.extensions.communication.Message;
2830
import org.jetbrains.annotations.Nullable;
2931

3032
/**
3133
* WAL state change abstract message.
3234
*/
33-
public abstract class WalStateAbstractMessage implements DiscoveryCustomMessage {
35+
public abstract class WalStateAbstractMessage implements DiscoveryCustomMessage, Message {
3436
/** Message ID */
35-
private final IgniteUuid id = IgniteUuid.randomUuid();
37+
@Order(0)
38+
IgniteUuid id;
3639

3740
/** Unique operation ID. */
38-
private final UUID opId;
41+
@Order(1)
42+
UUID opId;
3943

4044
/** Group ID. */
41-
private int grpId;
45+
@Order(2)
46+
int grpId;
4247

4348
/** Group deployment ID. */
44-
private IgniteUuid grpDepId;
49+
@Order(3)
50+
IgniteUuid grpDepId;
4551

4652
/** Message that should be processed through exchange thread. */
4753
@GridToStringExclude
4854
private transient WalStateProposeMessage exchangeMsg;
4955

56+
/** Constructor. */
57+
protected WalStateAbstractMessage() {
58+
// No-op.
59+
}
60+
5061
/**
5162
* Constructor.
5263
*
@@ -55,6 +66,7 @@ public abstract class WalStateAbstractMessage implements DiscoveryCustomMessage
5566
* @param grpDepId Group deployment ID.
5667
*/
5768
protected WalStateAbstractMessage(UUID opId, int grpId, IgniteUuid grpDepId) {
69+
id = IgniteUuid.randomUuid();
5870
this.opId = opId;
5971
this.grpId = grpId;
6072
this.grpDepId = grpDepId;

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/WalStateFinishMessage.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.apache.ignite.internal.processors.cache;
1919

2020
import java.util.UUID;
21+
import org.apache.ignite.internal.Order;
2122
import org.apache.ignite.internal.util.typedef.internal.S;
2223
import org.apache.ignite.lang.IgniteUuid;
2324
import org.jetbrains.annotations.Nullable;
@@ -30,10 +31,17 @@ public class WalStateFinishMessage extends WalStateAbstractMessage {
3031
private static final long serialVersionUID = 0L;
3132

3233
/** Whether WAL state was changed as a result of this call. */
33-
private final boolean changed;
34+
@Order(4)
35+
boolean changed;
3436

3537
/** Error message. */
36-
private final String errMsg;
38+
@Order(5)
39+
String errMsg;
40+
41+
/** Constructor. */
42+
public WalStateFinishMessage() {
43+
// No-op.
44+
}
3745

3846
/**
3947
* Constructor.
@@ -69,4 +77,9 @@ public boolean changed() {
6977
@Override public String toString() {
7078
return S.toString(WalStateFinishMessage.class, this, "super", super.toString());
7179
}
80+
81+
/** {@inheritDoc} */
82+
@Override public short directType() {
83+
return 500;
84+
}
7285
}

modules/core/src/main/java/org/apache/ignite/internal/processors/cache/WalStateProposeMessage.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import java.util.Map;
2121
import java.util.UUID;
22+
import org.apache.ignite.internal.Order;
2223
import org.apache.ignite.internal.util.typedef.internal.S;
2324
import org.apache.ignite.lang.IgniteUuid;
2425

@@ -30,23 +31,29 @@ public class WalStateProposeMessage extends WalStateAbstractMessage {
3031
private static final long serialVersionUID = 0L;
3132

3233
/** Cache names which are expected to be in the group along with their deployment IDs. */
33-
private Map<String, IgniteUuid> caches;
34+
@Order(4)
35+
Map<String, IgniteUuid> caches;
3436

3537
/** Whether WAL should be enabled or disabled. */
36-
private final boolean enable;
38+
@Order(5)
39+
boolean enable;
3740

3841
/** Whether message is being handled on cache affinity node. */
3942
private transient boolean affNode;
4043

44+
/** Constructor. */
45+
public WalStateProposeMessage() {
46+
// No-op.
47+
}
48+
4149
/**
4250
* Constructor.
4351
*
44-
* @param opId Operation IDs.
52+
* @param opId Operation ID.
4553
* @param grpId Expected group ID.
4654
* @param grpDepId Expected group deployment ID.
4755
* @param nodeId Node ID.
4856
* @param caches Expected cache names and their relevant deployment IDs.
49-
*
5057
* @param enable WAL state flag.
5158
*/
5259
public WalStateProposeMessage(UUID opId, int grpId, IgniteUuid grpDepId, UUID nodeId,
@@ -89,4 +96,9 @@ public void affinityNode(boolean affNode) {
8996
@Override public String toString() {
9097
return S.toString(WalStateProposeMessage.class, this, "super", super.toString());
9198
}
99+
100+
/** {@inheritDoc} */
101+
@Override public short directType() {
102+
return 501;
103+
}
92104
}

0 commit comments

Comments
 (0)