Skip to content

Commit a8ee5fc

Browse files
committed
Add MarshallerMappingItem into serialization
1 parent 0ea9f72 commit a8ee5fc

3 files changed

Lines changed: 26 additions & 21 deletions

File tree

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
@@ -55,6 +55,8 @@
5555
import org.apache.ignite.internal.processors.marshaller.MappingAcceptedMessageSerializer;
5656
import org.apache.ignite.internal.processors.marshaller.MappingProposedMessage;
5757
import org.apache.ignite.internal.processors.marshaller.MappingProposedMessageSerializer;
58+
import org.apache.ignite.internal.processors.marshaller.MarshallerMappingItem;
59+
import org.apache.ignite.internal.processors.marshaller.MarshallerMappingItemSerializer;
5860
import org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasAckMessage;
5961
import org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasAckMessageSerializer;
6062
import org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasMessage;
@@ -229,6 +231,7 @@ public DiscoveryMessageFactory(@Nullable Marshaller cstDataMarshall, @Nullable C
229231
factory.register((short)516, ClientCacheChangeDiscoveryMessage::new, new ClientCacheChangeDiscoveryMessageSerializer());
230232
factory.register((short)517, MappingAcceptedMessage::new, new MappingAcceptedMessageSerializer());
231233
factory.register((short)518, MappingProposedMessage::new, new MappingProposedMessageSerializer());
234+
factory.register((short)519, MarshallerMappingItem::new, new MarshallerMappingItemSerializer());
232235

233236
}
234237
}

modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingProposedMessage.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,14 @@ enum ProposalStatus {
5858

5959
/** */
6060
@Order(2)
61-
byte platformId;
61+
MarshallerMappingItem mappingItem;
6262

6363
/** */
6464
@Order(3)
65-
int typeId;
66-
67-
/** */
68-
@Order(4)
69-
String clsName;
70-
71-
/** */
72-
@Order(5)
7365
ProposalStatus status;
7466

7567
/** */
76-
@Order(6)
68+
@Order(4)
7769
String conflictingClsName;
7870

7971
/** */
@@ -89,9 +81,7 @@ public MappingProposedMessage() {
8981
assert origNodeId != null;
9082

9183
id = IgniteUuid.randomUuid();
92-
platformId = mappingItem.platformId();
93-
typeId = mappingItem.typeId();
94-
clsName = mappingItem.className();
84+
this.mappingItem = mappingItem;
9585
this.origNodeId = origNodeId;
9686
status = ProposalStatus.SUCCESSFUL;
9787
}
@@ -118,7 +108,7 @@ public MappingProposedMessage() {
118108

119109
/** */
120110
MarshallerMappingItem mappingItem() {
121-
return new MarshallerMappingItem(platformId, typeId, clsName);
111+
return mappingItem;
122112
}
123113

124114
/** */

modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MarshallerMappingItem.java

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,33 @@
1717

1818
package org.apache.ignite.internal.processors.marshaller;
1919

20-
import java.io.Serializable;
2120
import java.util.Objects;
21+
import org.apache.ignite.internal.Order;
22+
import org.apache.ignite.plugin.extensions.communication.Message;
2223
import org.jetbrains.annotations.Nullable;
2324

2425
/**
2526
* Used to exchange mapping information on new mapping added or missing mapping requested flows.
2627
* See {@link GridMarshallerMappingProcessor} javadoc for more information.
2728
*/
28-
public final class MarshallerMappingItem implements Serializable {
29+
public final class MarshallerMappingItem implements Message {
2930
/** */
30-
private static final long serialVersionUID = 0L;
31+
@Order(0)
32+
byte platformId;
3133

3234
/** */
33-
private final byte platformId;
35+
@Order(1)
36+
int typeId;
3437

3538
/** */
36-
private final int typeId;
39+
@Order(2)
40+
String clsName;
3741

38-
/** */
39-
private String clsName;
42+
/**
43+
* no-op
44+
*/
45+
public MarshallerMappingItem() {
46+
}
4047

4148
/**
4249
* Class name may be null when instance is created to request missing mapping from cluster.
@@ -97,4 +104,9 @@ public void className(String clsName) {
97104
@Override public String toString() {
98105
return "[platformId: " + platformId + ", typeId:" + typeId + ", clsName: " + clsName + "]";
99106
}
107+
108+
/** {@inheritDoc} */
109+
@Override public short directType() {
110+
return 519;
111+
}
100112
}

0 commit comments

Comments
 (0)