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 2012/11/07 19:07:19 UTC
svn commit: r1406743 - in
/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs: CHANGES.txt
src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java
src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
Author: shv
Date: Wed Nov 7 18:07:18 2012
New Revision: 1406743
URL: http://svn.apache.org/viewvc?rev=1406743&view=rev
Log:
HDFS-4138. BackupNode startup fails due to uninitialized edit log. Contributed by Kihwal Lee.
Modified:
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1406743&r1=1406742&r2=1406743&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Wed Nov 7 18:07:18 2012
@@ -1686,6 +1686,9 @@ Release 0.23.5 - UNRELEASED
HDFS-3625. Fix TestBackupNode by properly initializing edit log during
startup. (Junping Du via todd)
+ HDFS-4138. BackupNode startup fails due to uninitialized edit log.
+ (Kihwal Lee via shv)
+
Release 0.23.4 - UNRELEASED
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java?rev=1406743&r1=1406742&r2=1406743&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java Wed Nov 7 18:07:18 2012
@@ -77,10 +77,6 @@ public class BackupNode extends NameNode
String nnHttpAddress;
/** Checkpoint manager */
Checkpointer checkpointManager;
- /** ClusterID to which BackupNode belongs to */
- String clusterId;
- /** Block pool Id of the peer namenode of this BackupNode */
- String blockPoolId;
BackupNode(Configuration conf, NamenodeRole role) throws IOException {
super(conf, role);
@@ -144,6 +140,7 @@ public class BackupNode extends NameNode
CommonConfigurationKeys.FS_TRASH_INTERVAL_DEFAULT);
NamespaceInfo nsInfo = handshake(conf);
super.initialize(conf);
+ namesystem.setBlockPoolId(nsInfo.getBlockPoolID());
if (false == namesystem.isInSafeMode()) {
namesystem.setSafeMode(SafeModeAction.SAFEMODE_ENTER);
@@ -153,9 +150,6 @@ public class BackupNode extends NameNode
// therefore lease hard limit should never expire.
namesystem.leaseManager.setLeasePeriod(
HdfsConstants.LEASE_SOFTLIMIT_PERIOD, Long.MAX_VALUE);
-
- clusterId = nsInfo.getClusterID();
- blockPoolId = nsInfo.getBlockPoolID();
// register with the active name-node
registerWith(nsInfo);
@@ -209,7 +203,7 @@ public class BackupNode extends NameNode
}
/* @Override */// NameNode
- public boolean setSafeMode(@SuppressWarnings("unused") SafeModeAction action)
+ public boolean setSafeMode(SafeModeAction action)
throws IOException {
throw new UnsupportedActionException("setSafeMode");
}
@@ -405,14 +399,6 @@ public class BackupNode extends NameNode
return nsInfo;
}
- String getBlockPoolId() {
- return blockPoolId;
- }
-
- String getClusterId() {
- return clusterId;
- }
-
@Override
protected NameNodeHAContext createHAContext() {
return new BNHAContext();
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java?rev=1406743&r1=1406742&r2=1406743&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Wed Nov 7 18:07:18 2012
@@ -3483,7 +3483,7 @@ public class FSNamesystem implements Nam
@Metric({"TransactionsSinceLastLogRoll",
"Number of transactions since last edit log roll"})
public long getTransactionsSinceLastLogRoll() {
- if (isInStandbyState()) {
+ if (isInStandbyState() || !getEditLog().isSegmentOpen()) {
return 0;
} else {
return getEditLog().getLastWrittenTxId() -