Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@
import org.apache.ignite.internal.processors.cache.binary.MetadataRemoveProposedMessageSerializer;
import org.apache.ignite.internal.processors.cache.binary.MetadataUpdateAcceptedMessage;
import org.apache.ignite.internal.processors.cache.binary.MetadataUpdateAcceptedMessageSerializer;
import org.apache.ignite.internal.processors.marshaller.MappingProposedMessage;
import org.apache.ignite.internal.processors.marshaller.MappingProposedMessageSerializer;
import org.apache.ignite.internal.processors.query.schema.message.SchemaFinishDiscoveryMessage;
import org.apache.ignite.internal.processors.query.schema.message.SchemaFinishDiscoveryMessageSerializer;
import org.apache.ignite.internal.processors.query.schema.message.SchemaProposeDiscoveryMessage;
Expand Down Expand Up @@ -168,5 +170,6 @@ public class DiscoveryMessageFactory implements MessageFactoryProvider {
new TxTimeoutOnPartitionMapExchangeChangeMessageSerializer());
factory.register((short)510, UserAcceptedMessage::new, new UserAcceptedMessageSerializer());
factory.register((short)511, UserProposedMessage::new, new UserProposedMessageSerializer());
factory.register((short)512, MappingProposedMessage::new, new MappingProposedMessageSerializer());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,14 @@
package org.apache.ignite.internal.processors.marshaller;

import java.util.UUID;
import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.managers.discovery.DiscoCache;
import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
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.jetbrains.annotations.Nullable;

/**
Expand All @@ -36,9 +37,9 @@
* When it completes a pass around the cluster ring with no conflicts observed,
* {@link MappingAcceptedMessage} is sent as an acknowledgement that everything is fine.
*/
public class MappingProposedMessage implements DiscoveryCustomMessage {
public class MappingProposedMessage implements DiscoveryCustomMessage, Message {
/** */
private enum ProposalStatus {
enum ProposalStatus {
/** */
SUCCESSFUL,
/** */
Expand All @@ -51,20 +52,37 @@ private enum ProposalStatus {
private static final long serialVersionUID = 0L;

/** */
private final IgniteUuid id = IgniteUuid.randomUuid();
@Order(0)
IgniteUuid id;

/** */
private final UUID origNodeId;
@Order(1)
UUID origNodeId;

/** */
@GridToStringInclude
private final MarshallerMappingItem mappingItem;
@Order(2)
byte platformId;

/** */
private ProposalStatus status = ProposalStatus.SUCCESSFUL;
@Order(3)
int typeId;

/** */
private String conflictingClsName;
@Order(4)
String clsName;

/** */
@Order(5)
ProposalStatus status;

/** */
@Order(6)
String conflictingClsName;

/** */
public MappingProposedMessage() {
// No-op.
}

/**
* @param mappingItem Mapping item.
Expand All @@ -73,8 +91,12 @@ private enum ProposalStatus {
MappingProposedMessage(MarshallerMappingItem mappingItem, UUID origNodeId) {
assert origNodeId != null;

this.mappingItem = mappingItem;
this.id = IgniteUuid.randomUuid();
this.platformId = mappingItem.platformId();
this.typeId = mappingItem.typeId();
this.clsName = mappingItem.className();
this.origNodeId = origNodeId;
this.status = ProposalStatus.SUCCESSFUL;
}

/** {@inheritDoc} */
Expand All @@ -87,7 +109,7 @@ private enum ProposalStatus {
*/
@Nullable @Override public DiscoveryCustomMessage ackMessage() {
if (status == ProposalStatus.SUCCESSFUL)
return new MappingAcceptedMessage(mappingItem);
return new MappingAcceptedMessage(mappingItem());
else
return null;
}
Expand All @@ -105,7 +127,7 @@ private enum ProposalStatus {

/** */
MarshallerMappingItem mappingItem() {
return mappingItem;
return new MarshallerMappingItem(platformId, typeId, clsName);
}

/** */
Expand Down Expand Up @@ -139,6 +161,11 @@ String conflictingClassName() {
return conflictingClsName;
}

/** {@inheritDoc} */
@Override public short directType() {
return 512;
}

/** {@inheritDoc} */
@Override public String toString() {
return S.toString(MappingProposedMessage.class, this);
Expand Down