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 @@ -52,6 +52,7 @@
import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
import org.apache.ignite.internal.codegen.GridChangeGlobalStateMessageResponseSerializer;
import org.apache.ignite.internal.codegen.GridCheckpointRequestSerializer;
import org.apache.ignite.internal.codegen.GridDeploymentInfoBeanSerializer;
import org.apache.ignite.internal.codegen.GridDeploymentResponseSerializer;
import org.apache.ignite.internal.codegen.GridDhtAffinityAssignmentRequestSerializer;
import org.apache.ignite.internal.codegen.GridDhtAtomicDeferredUpdateResponseSerializer;
Expand Down Expand Up @@ -333,7 +334,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
factory.register((short)7, GridCheckpointRequest::new, new GridCheckpointRequestSerializer());
factory.register((short)8, GridIoMessage::new);
factory.register((short)9, GridIoUserMessage::new);
factory.register((short)10, GridDeploymentInfoBean::new);
factory.register((short)10, GridDeploymentInfoBean::new, new GridDeploymentInfoBeanSerializer());
factory.register((short)11, GridDeploymentRequest::new);
factory.register((short)12, GridDeploymentResponse::new, new GridDeploymentResponseSerializer());
factory.register((short)13, GridEventStorageMessage::new);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,16 @@
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.nio.ByteBuffer;
import java.util.Map;
import java.util.UUID;
import org.apache.ignite.configuration.DeploymentMode;
import org.apache.ignite.internal.GridDirectMap;
import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.managers.communication.DeploymentModeMessage;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;

/**
* Deployment info bean.
Expand All @@ -43,25 +40,29 @@ public class GridDeploymentInfoBean implements Message, GridDeploymentInfo, Exte
private static final long serialVersionUID = 0L;

/** */
@Order(value = 0, method = "classLoaderId")
private IgniteUuid clsLdrId;

/** */
private DeploymentMode depMode;
@Order(value = 1, method = "deployModeMessage")
private DeploymentModeMessage depModeMsg;

/** */
@Order(value = 2, method = "userVersion")
private String userVer;

/** */
@Deprecated // Left for backward compatibility only.
@Order(value = 3, method = "localDeploymentOwner")
private boolean locDepOwner;

/** Node class loader participant map. */
@GridToStringInclude
@GridDirectMap(keyType = UUID.class, valueType = IgniteUuid.class)
@Order(value = 4)
private Map<UUID, IgniteUuid> participants;

/**
* Required by {@link Externalizable}.
* Required for serializations.
*/
public GridDeploymentInfoBean() {
/* No-op. */
Expand All @@ -80,7 +81,7 @@ public GridDeploymentInfoBean(
Map<UUID, IgniteUuid> participants
) {
this.clsLdrId = clsLdrId;
this.depMode = depMode;
this.depModeMsg = new DeploymentModeMessage(depMode);
this.userVer = userVer;
this.participants = participants;
}
Expand All @@ -90,7 +91,7 @@ public GridDeploymentInfoBean(
*/
public GridDeploymentInfoBean(GridDeploymentInfo dep) {
clsLdrId = dep.classLoaderId();
depMode = dep.deployMode();
this.depModeMsg = new DeploymentModeMessage(dep.deployMode());
userVer = dep.userVersion();
participants = dep.participants();
}
Expand All @@ -100,16 +101,36 @@ public GridDeploymentInfoBean(GridDeploymentInfo dep) {
return clsLdrId;
}

/** */
public void classLoaderId(IgniteUuid clsLdrId) {
this.clsLdrId = clsLdrId;
}

/** {@inheritDoc} */
@Override public DeploymentMode deployMode() {
return depMode;
return depModeMsg.value();
}

/** */
public DeploymentModeMessage deployModeMessage() {
return depModeMsg;
}

/** */
public void deployModeMessage(DeploymentModeMessage depMode) {
this.depModeMsg = depMode;
}

/** {@inheritDoc} */
@Override public String userVersion() {
return userVer;
}

/** */
public void userVersion(String userVer) {
this.userVer = userVer;
}

/** {@inheritDoc} */
@Override public long sequenceNumber() {
return clsLdrId.localId();
Expand All @@ -120,11 +141,21 @@ public GridDeploymentInfoBean(GridDeploymentInfo dep) {
return locDepOwner;
}

/** */
public void localDeploymentOwner(boolean locDepOwner) {
this.locDepOwner = locDepOwner;
}

/** {@inheritDoc} */
@Override public Map<UUID, IgniteUuid> participants() {
return participants;
}

/** */
public void participants(Map<UUID, IgniteUuid> participants) {
this.participants = participants;
}

/** {@inheritDoc} */
@Override public int hashCode() {
return clsLdrId.hashCode();
Expand All @@ -136,107 +167,6 @@ public GridDeploymentInfoBean(GridDeploymentInfo dep) {
clsLdrId.equals(((GridDeploymentInfoBean)o).clsLdrId);
}

/** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);

if (!writer.isHeaderWritten()) {
if (!writer.writeHeader(directType()))
return false;

writer.onHeaderWritten();
}

switch (writer.state()) {
case 0:
if (!writer.writeIgniteUuid(clsLdrId))
return false;

writer.incrementState();

case 1:
if (!writer.writeByte(depMode != null ? (byte)depMode.ordinal() : -1))
return false;

writer.incrementState();

case 2:
if (!writer.writeBoolean(locDepOwner))
return false;

writer.incrementState();

case 3:
if (!writer.writeMap(participants, MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID))
return false;

writer.incrementState();

case 4:
if (!writer.writeString(userVer))
return false;

writer.incrementState();

}

return true;
}

/** {@inheritDoc} */
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
reader.setBuffer(buf);

switch (reader.state()) {
case 0:
clsLdrId = reader.readIgniteUuid();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 1:
byte depModeOrd;

depModeOrd = reader.readByte();

if (!reader.isLastRead())
return false;

depMode = DeploymentMode.fromOrdinal(depModeOrd);

reader.incrementState();

case 2:
locDepOwner = reader.readBoolean();

if (!reader.isLastRead())
return false;

reader.incrementState();

case 3:
participants = reader.readMap(MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID, false);

if (!reader.isLastRead())
return false;

reader.incrementState();

case 4:
userVer = reader.readString();

if (!reader.isLastRead())
return false;

reader.incrementState();

}

return true;
}

/** {@inheritDoc} */
@Override public short directType() {
return 10;
Expand All @@ -245,7 +175,7 @@ public GridDeploymentInfoBean(GridDeploymentInfo dep) {
/** {@inheritDoc} */
@Override public void writeExternal(ObjectOutput out) throws IOException {
U.writeIgniteUuid(out, clsLdrId);
U.writeEnum(out, depMode);
out.writeByte(depModeMsg.code());
U.writeString(out, userVer);
out.writeBoolean(locDepOwner);
U.writeMap(out, participants);
Expand All @@ -254,7 +184,10 @@ public GridDeploymentInfoBean(GridDeploymentInfo dep) {
/** {@inheritDoc} */
@Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
clsLdrId = U.readIgniteUuid(in);
depMode = DeploymentMode.fromOrdinal(in.readByte());

depModeMsg = new DeploymentModeMessage();
depModeMsg.code(in.readByte());

userVer = U.readString(in);
locDepOwner = in.readBoolean();
participants = U.readMap(in);
Expand Down