HDFS-7894. Rolling upgrade readiness is not updated in jmx until query command is issued. Contributed by Brahma Reddy Battula.

This commit is contained in:
Kihwal Lee 2015-05-08 09:30:38 -05:00
parent 241a72af0d
commit 6f622672b6
2 changed files with 24 additions and 2 deletions

View File

@ -765,6 +765,9 @@ Release 2.7.1 - UNRELEASED
HDFS-8226. Non-HA rollback compatibility broken (J.Andreina via vinayakumarb) HDFS-8226. Non-HA rollback compatibility broken (J.Andreina via vinayakumarb)
HDFS-7894. Rolling upgrade readiness is not updated in jmx until query
command is issued. (Brahma Reddy Battula via kihwal)
Release 2.7.0 - 2015-04-20 Release 2.7.0 - 2015-04-20
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -7608,12 +7608,31 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
@Override // NameNodeMXBean @Override // NameNodeMXBean
public RollingUpgradeInfo.Bean getRollingUpgradeStatus() { public RollingUpgradeInfo.Bean getRollingUpgradeStatus() {
if (!isRollingUpgrade()) {
return null;
}
RollingUpgradeInfo upgradeInfo = getRollingUpgradeInfo(); RollingUpgradeInfo upgradeInfo = getRollingUpgradeInfo();
if (upgradeInfo != null) { if (upgradeInfo.createdRollbackImages()) {
return new RollingUpgradeInfo.Bean(upgradeInfo); return new RollingUpgradeInfo.Bean(upgradeInfo);
} }
readLock();
try {
// check again after acquiring the read lock.
upgradeInfo = getRollingUpgradeInfo();
if (upgradeInfo == null) {
return null; return null;
} }
if (!upgradeInfo.createdRollbackImages()) {
boolean hasRollbackImage = this.getFSImage().hasRollbackFSImage();
upgradeInfo.setCreatedRollbackImages(hasRollbackImage);
}
} catch (IOException ioe) {
LOG.warn("Encountered exception setting Rollback Image", ioe);
} finally {
readUnlock();
}
return new RollingUpgradeInfo.Bean(upgradeInfo);
}
/** Is rolling upgrade in progress? */ /** Is rolling upgrade in progress? */
public boolean isRollingUpgrade() { public boolean isRollingUpgrade() {