HDFS-4138. BackupNode startup fails due to uninitialized edit log. Contributed by Kihwal Lee.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1406734 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3c02237459
commit
1ab97373de
@ -1966,6 +1966,9 @@ Release 0.23.5 - UNRELEASED
|
||||
HDFS-4090. getFileChecksum() result incompatible when called against
|
||||
zero-byte files. (Kihwal Lee via daryn)
|
||||
|
||||
HDFS-4138. BackupNode startup fails due to uninitialized edit log.
|
||||
(Kihwal Lee via shv)
|
||||
|
||||
Release 0.23.4 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -78,10 +78,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);
|
||||
@ -145,6 +141,7 @@ protected void initialize(Configuration conf) throws IOException {
|
||||
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);
|
||||
@ -154,9 +151,6 @@ protected void initialize(Configuration conf) throws IOException {
|
||||
// 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);
|
||||
@ -219,7 +213,7 @@ void stop(boolean reportError) {
|
||||
}
|
||||
|
||||
/* @Override */// NameNode
|
||||
public boolean setSafeMode(@SuppressWarnings("unused") SafeModeAction action)
|
||||
public boolean setSafeMode(SafeModeAction action)
|
||||
throws IOException {
|
||||
throw new UnsupportedActionException("setSafeMode");
|
||||
}
|
||||
@ -415,14 +409,6 @@ private static NamespaceInfo handshake(NamenodeProtocol namenode)
|
||||
return nsInfo;
|
||||
}
|
||||
|
||||
String getBlockPoolId() {
|
||||
return blockPoolId;
|
||||
}
|
||||
|
||||
String getClusterId() {
|
||||
return clusterId;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected NameNodeHAContext createHAContext() {
|
||||
return new BNHAContext();
|
||||
|
@ -3507,7 +3507,7 @@ public long getTransactionsSinceLastCheckpoint() {
|
||||
@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() -
|
||||
|
Loading…
Reference in New Issue
Block a user