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 to...@apache.org on 2011/05/25 03:13:29 UTC
svn commit: r1127354 - in /hadoop/hdfs/branches/HDFS-1073: ./
src/java/org/apache/hadoop/hdfs/server/namenode/
Author: todd
Date: Wed May 25 01:13:28 2011
New Revision: 1127354
URL: http://svn.apache.org/viewvc?rev=1127354&view=rev
Log:
HDFS-1992. Remove vestiges of NNStorageListener. Contributed by Todd Lipcon.
Modified:
hadoop/hdfs/branches/HDFS-1073/CHANGES.HDFS-1073.txt
hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java
hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java
hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
Modified: hadoop/hdfs/branches/HDFS-1073/CHANGES.HDFS-1073.txt
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1073/CHANGES.HDFS-1073.txt?rev=1127354&r1=1127353&r2=1127354&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1073/CHANGES.HDFS-1073.txt (original)
+++ hadoop/hdfs/branches/HDFS-1073/CHANGES.HDFS-1073.txt Wed May 25 01:13:28 2011
@@ -35,3 +35,4 @@ HDFS-1984. Enable multiple secondary nam
HDFS-1987. Re-enable TestCheckpoint.testSecondaryImageDownload which was not
running previously. (todd)
HDFS-1993. TestCheckpoint needs to clean up between cases (todd)
+HDFS-1992. Remove vestiges of NNStorageListener. (todd)
Modified: hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java?rev=1127354&r1=1127353&r2=1127354&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java (original)
+++ hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java Wed May 25 01:13:28 2011
@@ -155,7 +155,7 @@ class FSDirectory implements Closeable {
throws IOException {
// format before starting up if requested
if (startOpt == StartupOption.FORMAT) {
- fsImage.getStorage().format(fsImage.getStorage().determineClusterId());// reuse current id
+ fsImage.format(fsImage.getStorage().determineClusterId());// reuse current id
startOpt = StartupOption.REGULAR;
}
Modified: hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java?rev=1127354&r1=1127353&r2=1127354&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java (original)
+++ hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSEditLog.java Wed May 25 01:13:28 2011
@@ -37,7 +37,6 @@ import org.apache.hadoop.hdfs.security.t
import org.apache.hadoop.hdfs.server.common.Storage.StorageDirectory;
import static org.apache.hadoop.hdfs.server.common.Util.now;
import org.apache.hadoop.hdfs.server.namenode.NNStorage.NameNodeDirType;
-import org.apache.hadoop.hdfs.server.namenode.NNStorage.NNStorageListener;
import org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeMetrics;
import org.apache.hadoop.hdfs.server.protocol.NamenodeRegistration;
import org.apache.hadoop.hdfs.server.protocol.RemoteEditLogManifest;
Modified: hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java?rev=1127354&r1=1127353&r2=1127354&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java (original)
+++ hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java Wed May 25 01:13:28 2011
@@ -51,7 +51,6 @@ import org.apache.hadoop.hdfs.server.com
import org.apache.hadoop.hdfs.server.namenode.FSImageStorageInspector.LoadPlan;
import org.apache.hadoop.hdfs.server.namenode.NNStorage.NameNodeDirType;
import org.apache.hadoop.hdfs.server.namenode.NNStorage.NameNodeFile;
-import org.apache.hadoop.hdfs.server.namenode.NNStorage.NNStorageListener;
import org.apache.hadoop.hdfs.server.protocol.CheckpointCommand;
import org.apache.hadoop.hdfs.server.protocol.NamenodeCommand;
import org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol;
@@ -70,7 +69,7 @@ import com.google.common.collect.Lists;
*/
@InterfaceAudience.Private
@InterfaceStability.Evolving
-public class FSImage implements NNStorageListener, Closeable {
+public class FSImage implements Closeable {
protected static final Log LOG = LogFactory.getLog(FSImage.class.getName());
// checkpoint states
@@ -143,7 +142,6 @@ public class FSImage implements NNStorag
if (ns != null) {
storage.setUpgradeManager(ns.upgradeManager);
}
- storage.registerListener(this);
if(conf.getBoolean(DFSConfigKeys.DFS_NAMENODE_NAME_DIR_RESTORE_KEY,
DFSConfigKeys.DFS_NAMENODE_NAME_DIR_RESTORE_DEFAULT)) {
@@ -171,6 +169,11 @@ public class FSImage implements NNStorag
checkpointEditsDirs = editsDirs;
}
+ void format(String clusterId) throws IOException {
+ storage.format(clusterId);
+ saveFSImageInAllDirs(0);
+ }
+
/**
* Analyze storage directories.
* Recover from previous transitions if required.
@@ -1041,29 +1044,6 @@ public class FSImage implements NNStorag
return storage;
}
- @Override // NNStorageListener
- public void errorOccurred(StorageDirectory sd) throws IOException {
- // do nothing,
- }
-
-
- @Override // NNStorageListener
- public void formatOccurred(StorageDirectory sd) throws IOException {
- if (sd.getStorageDirType().isOfType(NameNodeDirType.IMAGE)) {
- sd.lock();
- try {
- // TODO what happens if you add a new storage dir to an already existing
- // namespace? Need a testcase for this.
- saveFSImage(sd, 0);
- renameCheckpointInDir(sd, 0);
- } finally {
- sd.unlock();
- }
- LOG.info("Storage directory " + sd.getRoot()
- + " has been successfully formatted.");
- }
- }
-
public int getLayoutVersion() {
return storage.getLayoutVersion();
}
Modified: hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java?rev=1127354&r1=1127353&r2=1127354&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java (original)
+++ hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NNStorage.java Wed May 25 01:13:28 2011
@@ -116,31 +116,6 @@ public class NNStorage extends Storage i
}
}
- /**
- * Interface to be implemented by classes which make use of storage
- * directories. They are notified when a StorageDirectory is causing errors,
- * becoming available or being formatted.
- *
- * This allows the implementors of the interface take their own specific
- * action on the StorageDirectory when this occurs.
- */
- interface NNStorageListener {
- /**
- * An error has occurred with a StorageDirectory.
- * @param sd The storage directory causing the error.
- * @throws IOException
- */
- void errorOccurred(StorageDirectory sd) throws IOException;
-
- /**
- * A storage directory has been formatted.
- * @param sd The storage directory being formatted.
- * @throws IOException
- */
- void formatOccurred(StorageDirectory sd) throws IOException;
- }
-
- final private List<NNStorageListener> listeners;
private UpgradeManager upgradeManager = null;
protected String blockpoolID = ""; // id of the block pool
@@ -178,7 +153,6 @@ public class NNStorage extends Storage i
super(NodeType.NAME_NODE);
storageDirs = new CopyOnWriteArrayList<StorageDirectory>();
- this.listeners = new CopyOnWriteArrayList<NNStorageListener>();
setStorageDirectories(imageDirs, editsDirs);
}
@@ -192,7 +166,6 @@ public class NNStorage extends Storage i
super(NodeType.NAME_NODE, storageInfo);
storageDirs = new CopyOnWriteArrayList<StorageDirectory>();
- this.listeners = new CopyOnWriteArrayList<NNStorageListener>();
this.blockpoolID = bpid;
}
@@ -222,7 +195,6 @@ public class NNStorage extends Storage i
@Override // Closeable
public void close() throws IOException {
- listeners.clear();
unlockAll();
storageDirs.clear();
}
@@ -549,9 +521,6 @@ public class NNStorage extends Storage i
* in this filesystem. */
private void format(StorageDirectory sd) throws IOException {
sd.clearDirectory(); // create currrent dir
- for (NNStorageListener listener : listeners) {
- listener.formatOccurred(sd);
- }
sd.write();
writeTransactionIdFile(sd, 0);
@@ -878,17 +847,6 @@ public class NNStorage extends Storage i
}
/**
- * Register a listener. The listener will be notified of changes to the list
- * of available storage directories.
- *
- * @see NNStorageListener
- * @param sel A storage listener.
- */
- void registerListener(NNStorageListener sel) {
- listeners.add(sel);
- }
-
- /**
* Disable the check for pre-upgradable layouts. Needed for BackupImage.
* @param val Whether to disable the preupgradeable layout check.
*/
@@ -923,10 +881,6 @@ public class NNStorage extends Storage i
String lsd = listStorageDirectories();
LOG.debug("current list of storage dirs:" + lsd);
- for (NNStorageListener listener : listeners) {
- listener.errorOccurred(sd);
- }
-
LOG.info("About to remove corresponding storage: "
+ sd.getRoot().getAbsolutePath());
try {
Modified: hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
URL: http://svn.apache.org/viewvc/hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java?rev=1127354&r1=1127353&r2=1127354&view=diff
==============================================================================
--- hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java (original)
+++ hadoop/hdfs/branches/HDFS-1073/src/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java Wed May 25 01:13:28 2011
@@ -1488,7 +1488,7 @@ public class NameNode implements Namenod
FSImage fsImage = new FSImage(conf, null, dirsToFormat, editDirsToFormat);
FSNamesystem nsys = new FSNamesystem(fsImage, conf);
- nsys.dir.fsImage.getStorage().format(clusterId);
+ nsys.dir.fsImage.format(clusterId);
return false;
}