HDFS-9426. Rollingupgrade finalization is not backward compatible (Contributed by Kihwal Lee)
This commit is contained in:
parent
4e8799fff4
commit
c62d42cd8b
|
@ -95,6 +95,9 @@ Release 2.7.2 - 2015-11-11
|
|||
HDFS-9413. getContentSummary() on standby should throw StandbyException.
|
||||
(Brahma Reddy Battula via mingma)
|
||||
|
||||
HDFS-9426. Rollingupgrade finalization is not backward compatible
|
||||
(Kihwal Lee via vinayakumarb)
|
||||
|
||||
Release 2.7.1 - 2015-07-06
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -161,7 +161,11 @@ public class DatanodeProtocolClientSideTranslatorPB implements
|
|||
index++;
|
||||
}
|
||||
RollingUpgradeStatus rollingUpdateStatus = null;
|
||||
if (resp.hasRollingUpgradeStatus()) {
|
||||
|
||||
// Use v2 semantics if available.
|
||||
if (resp.hasRollingUpgradeStatusV2()) {
|
||||
rollingUpdateStatus = PBHelper.convert(resp.getRollingUpgradeStatusV2());
|
||||
} else if (resp.hasRollingUpgradeStatus()) {
|
||||
rollingUpdateStatus = PBHelper.convert(resp.getRollingUpgradeStatus());
|
||||
}
|
||||
return new HeartbeatResponse(cmds, PBHelper.convert(resp.getHaStatus()),
|
||||
|
|
|
@ -46,6 +46,7 @@ import org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos.StorageBlock
|
|||
import org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos.StorageReceivedDeletedBlocksProto;
|
||||
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.DatanodeIDProto;
|
||||
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.LocatedBlockProto;
|
||||
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.RollingUpgradeStatusProto;
|
||||
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.VersionRequestProto;
|
||||
import org.apache.hadoop.hdfs.protocol.proto.HdfsProtos.VersionResponseProto;
|
||||
import org.apache.hadoop.hdfs.server.protocol.DatanodeCommand;
|
||||
|
@ -132,8 +133,15 @@ public class DatanodeProtocolServerSideTranslatorPB implements
|
|||
RollingUpgradeStatus rollingUpdateStatus = response
|
||||
.getRollingUpdateStatus();
|
||||
if (rollingUpdateStatus != null) {
|
||||
builder.setRollingUpgradeStatus(PBHelper
|
||||
.convertRollingUpgradeStatus(rollingUpdateStatus));
|
||||
// V2 is always set for newer datanodes.
|
||||
// To be compatible with older datanodes, V1 is set to null
|
||||
// if the RU was finalized.
|
||||
RollingUpgradeStatusProto rus = PBHelper.convertRollingUpgradeStatus(
|
||||
rollingUpdateStatus);
|
||||
builder.setRollingUpgradeStatusV2(rus);
|
||||
if (!rollingUpdateStatus.isFinalized()) {
|
||||
builder.setRollingUpgradeStatus(rus);
|
||||
}
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
|
|
@ -217,6 +217,7 @@ message HeartbeatResponseProto {
|
|||
repeated DatanodeCommandProto cmds = 1; // Returned commands can be null
|
||||
required NNHAStatusHeartbeatProto haStatus = 2;
|
||||
optional RollingUpgradeStatusProto rollingUpgradeStatus = 3;
|
||||
optional RollingUpgradeStatusProto rollingUpgradeStatusV2 = 4;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue