You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by sh...@apache.org on 2011/12/28 22:17:21 UTC
svn commit: r1225340 - in /hadoop/common/branches/branch-0.22/hdfs:
CHANGES.txt src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestBackupNode.java
Author: shv
Date: Wed Dec 28 21:17:21 2011
New Revision: 1225340
URL: http://svn.apache.org/viewvc?rev=1225340&view=rev
Log:
HDFS-2698. BackupNode is downloading image from NameNode for every checkpoint. Contributed by Konstantin Shvachko.
Modified:
hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt
hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestBackupNode.java
Modified: hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt?rev=1225340&r1=1225339&r2=1225340&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt Wed Dec 28 21:17:21 2011
@@ -14,6 +14,9 @@ Release 0.22.1 - Unreleased
HDFS-1910. NameNode should not save fsimage twice. (shv)
+ HDFS-2698. BackupNode is downloading image from NameNode for every
+ checkpoint. (shv)
+
Release 0.22.0 - 2011-11-29
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java?rev=1225340&r1=1225339&r2=1225340&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java (original)
+++ hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java Wed Dec 28 21:17:21 2011
@@ -1423,7 +1423,7 @@ public class FSImage extends Storage {
void rollFSImage(CheckpointSignature sig,
boolean renewCheckpointTime) throws IOException {
sig.validateStorageInfo(this);
- rollFSImage(true);
+ rollFSImage(renewCheckpointTime);
}
private void rollFSImage(boolean renewCheckpointTime)
Modified: hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestBackupNode.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestBackupNode.java?rev=1225340&r1=1225339&r2=1225340&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestBackupNode.java (original)
+++ hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestBackupNode.java Wed Dec 28 21:17:21 2011
@@ -155,6 +155,18 @@ public class TestBackupNode {
THIS_HOST + ":0");
backup = startBackupNode(conf, op, 1);
waitCheckpointDone(backup);
+
+ // Verify fstime files are identical in case of BN and not in case of CN
+ FSImage imageNN = cluster.getNameNode().getFSImage();
+ long cpTimeNN = imageNN.readCheckpointTime(imageNN.dirIterator().next());
+ FSImage imageBN = backup.getFSImage();
+ long cpTimeBN = imageBN.readCheckpointTime(imageBN.dirIterator().next());
+ assertTrue(
+ op == StartupOption.BACKUP ?
+ "NN should have the same checkpointTime as BN" :
+ "NN should have different checkpointTime from CN",
+ op == StartupOption.BACKUP && cpTimeNN == cpTimeBN ||
+ op == StartupOption.CHECKPOINT && cpTimeNN != cpTimeBN);
} catch(IOException e) {
LOG.error("Error in TestBackupNode:", e);
assertTrue(e.getLocalizedMessage(), false);