Repository: hadoop Updated Branches: refs/heads/branch-2 31b3f8460 -> c24448c27
HDFS-7869. Inconsistency in the return information while performing rolling upgrade ( Contributed by J.Andreina ) (cherry picked from commit 3560180b6e9926aa3ee1357da59b28a4b4689a0d) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c24448c2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c24448c2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c24448c2 Branch: refs/heads/branch-2 Commit: c24448c27b91d0398fb42a0a9ab8b8cdd4887647 Parents: 31b3f84 Author: Vinayakumar B <[email protected]> Authored: Wed Mar 4 14:38:38 2015 +0530 Committer: Vinayakumar B <[email protected]> Committed: Wed Mar 4 14:39:51 2015 +0530 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 6 +++--- .../apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java | 3 +-- .../src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java | 2 +- .../test/java/org/apache/hadoop/hdfs/TestRollingUpgrade.java | 4 ++-- 5 files changed, 10 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c24448c2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index bff45bb..6506451 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -777,6 +777,9 @@ Release 2.7.0 - UNRELEASED HDFS-7682. {{DistributedFileSystem#getFileChecksum}} of a snapshotted file includes non-snapshotted content. (Charles Lamb via atm) + HDFS-7869. Inconsistency in the return information while performing rolling + upgrade ( J.Andreina via vinayakumarb ) + BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS HDFS-7720. Quota by Storage Type API, tools and ClientNameNode http://git-wip-us.apache.org/repos/asf/hadoop/blob/c24448c2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 17f313d..81d2b88 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -7475,7 +7475,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, } } - void finalizeRollingUpgrade() throws IOException { + RollingUpgradeInfo finalizeRollingUpgrade() throws IOException { checkSuperuserPrivilege(); checkOperation(OperationCategory.WRITE); writeLock(); @@ -7483,7 +7483,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, try { checkOperation(OperationCategory.WRITE); if (!isRollingUpgrade()) { - return; + return null; } checkNameNodeSafeMode("Failed to finalize rolling upgrade"); @@ -7508,7 +7508,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, if (auditLog.isInfoEnabled() && isExternalInvocation()) { logAuditEvent(true, "finalizeRollingUpgrade", null, null, null); } - return; + return returnInfo; } RollingUpgradeInfo finalizeRollingUpgradeInternal(long finalizeTime) http://git-wip-us.apache.org/repos/asf/hadoop/blob/c24448c2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java index a746e8d..b1ae348 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java @@ -1139,8 +1139,7 @@ class NameNodeRpcServer implements NamenodeProtocols { case PREPARE: return namesystem.startRollingUpgrade(); case FINALIZE: - namesystem.finalizeRollingUpgrade(); - return null; + return namesystem.finalizeRollingUpgrade(); default: throw new UnsupportedActionException(action + " is not yet supported."); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/c24448c2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java index abbd46b..e80b4c0 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java @@ -341,7 +341,7 @@ public class DFSAdmin extends FsShell { private static void printMessage(RollingUpgradeInfo info, PrintStream out) { if (info != null && info.isStarted()) { - if (!info.createdRollbackImages()) { + if (!info.createdRollbackImages() && !info.isFinalized()) { out.println( "Preparing for upgrade. Data is being saved for rollback." + "\nRun \"dfsadmin -rollingUpgrade query\" to check the status" http://git-wip-us.apache.org/repos/asf/hadoop/blob/c24448c2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRollingUpgrade.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRollingUpgrade.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRollingUpgrade.java index 0dde909..cd5ce77 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRollingUpgrade.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRollingUpgrade.java @@ -244,7 +244,7 @@ public class TestRollingUpgrade { //finalize rolling upgrade final RollingUpgradeInfo finalize = dfs2.rollingUpgrade( RollingUpgradeAction.FINALIZE); - Assert.assertNull(finalize); + Assert.assertTrue(finalize.isFinalized()); LOG.info("RESTART cluster 2 with regular startup option"); cluster2.getNameNodeInfos()[0].setStartOpt(StartupOption.REGULAR); @@ -405,7 +405,7 @@ public class TestRollingUpgrade { Assert.assertTrue(fsimage.hasRollbackFSImage()); info = dfs.rollingUpgrade(RollingUpgradeAction.FINALIZE); - Assert.assertNull(info); + Assert.assertTrue(info.isFinalized()); Assert.assertTrue(dfs.exists(foo)); // Once finalized, there should be no more fsimage for rollbacks.
