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 @@ -17,6 +17,7 @@

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

import org.apache.ignite.internal.codegen.ChangeGlobalStateFinishMessageSerializer;
import org.apache.ignite.internal.codegen.InetAddressMessageSerializer;
import org.apache.ignite.internal.codegen.InetSocketAddressMessageSerializer;
import org.apache.ignite.internal.codegen.TcpDiscoveryAuthFailedMessageSerializer;
Expand All @@ -34,6 +35,7 @@
import org.apache.ignite.internal.codegen.TcpDiscoveryPingRequestSerializer;
import org.apache.ignite.internal.codegen.TcpDiscoveryPingResponseSerializer;
import org.apache.ignite.internal.codegen.TcpDiscoveryRingLatencyCheckMessageSerializer;
import org.apache.ignite.internal.processors.cluster.ChangeGlobalStateFinishMessage;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import org.apache.ignite.spi.discovery.tcp.messages.InetAddressMessage;
Expand Down Expand Up @@ -76,5 +78,7 @@ public class DiscoveryMessageFactory implements MessageFactoryProvider {
factory.register((short)11, TcpDiscoveryAuthFailedMessage::new, new TcpDiscoveryAuthFailedMessageSerializer());
factory.register((short)12, TcpDiscoveryDuplicateIdMessage::new, new TcpDiscoveryDuplicateIdMessageSerializer());
factory.register((short)13, TcpDiscoveryClientMetricsUpdateMessage::new, new TcpDiscoveryClientMetricsUpdateMessageSerializer());

factory.register((short)500, ChangeGlobalStateFinishMessage::new, new ChangeGlobalStateFinishMessageSerializer());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,45 +19,58 @@

import java.util.UUID;
import org.apache.ignite.cluster.ClusterState;
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.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.jetbrains.annotations.Nullable;

/**
*
*/
public class ChangeGlobalStateFinishMessage implements DiscoveryCustomMessage {
public class ChangeGlobalStateFinishMessage implements DiscoveryCustomMessage, Message {
/** */
private static final long serialVersionUID = 0L;

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

/** State change request ID. */
private final UUID reqId;
@Order(value = 1, method = "requestId")
private UUID reqId;

/** New cluster state. */
private final ClusterState state;
@Order(2)
private ClusterState state;

/** State change error. */
private Boolean transitionRes;
@Order(value = 3, method = "success")
private boolean transitionRes;

/** Constructor. */
public ChangeGlobalStateFinishMessage() {
// No-op.
}

/**
* @param reqId State change request ID.
* @param state New cluster state.
* @param transitionRes State change error.
*/
public ChangeGlobalStateFinishMessage(
UUID reqId,
ClusterState state,
Boolean transitionRes
boolean transitionRes
) {
assert reqId != null;
assert state != null;

id = IgniteUuid.randomUuid();
this.reqId = reqId;
this.state = state;
this.transitionRes = transitionRes;
Expand All @@ -70,6 +83,13 @@ public UUID requestId() {
return reqId;
}

/**
* @param reqId State change request ID.
*/
public void requestId(UUID reqId) {
this.reqId = reqId;
}

/**
* @return New cluster state.
* @deprecated Use {@link #state()} instead.
Expand All @@ -83,7 +103,14 @@ public boolean clusterActive() {
* @return Transition success status.
*/
public boolean success() {
return transitionRes == null ? state.active() : transitionRes;
return transitionRes;
}

/**
* @param transitionRes State change error.
*/
public void success(boolean transitionRes) {
this.transitionRes = transitionRes;
}

/**
Expand All @@ -93,11 +120,25 @@ public ClusterState state() {
return state;
}

/**
* @param state New cluster state.
*/
public void state(ClusterState state) {
this.state = state;
}

/** {@inheritDoc} */
@Override public IgniteUuid id() {
return id;
}

/**
* @param id Unique custom message ID.
*/
public void id(IgniteUuid id) {
this.id = id;
}

/** {@inheritDoc} */
@Nullable @Override public DiscoveryCustomMessage ackMessage() {
return null;
Expand All @@ -118,4 +159,9 @@ public ClusterState state() {
@Override public String toString() {
return S.toString(ChangeGlobalStateFinishMessage.class, this);
}

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