[prev in list] [next in list] [prev in thread] [next in thread]
List: hadoop-commits
Subject: svn commit: r501942 - in /lucene/hadoop/trunk: CHANGES.txt
From: cutting () apache ! org
Date: 2007-01-31 18:47:53
Message-ID: 20070131184754.120971A981A () eris ! apache ! org
[Download RAW message or body]
Author: cutting
Date: Wed Jan 31 10:47:53 2007
New Revision: 501942
URL: http://svn.apache.org/viewvc?view=rev&rev=501942
Log:
HADOOP-959. Fix namenode snapshot code added in HADOOP-227 to work on Windows. \
Contributed by Dhruba.
Modified:
lucene/hadoop/trunk/CHANGES.txt
lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSEditLog.java
lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSImage.java
lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/NameNode.java
Modified: lucene/hadoop/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/CHANGES.txt?view=diff&rev=501942&r1=501941&r2=501942
==============================================================================
--- lucene/hadoop/trunk/CHANGES.txt (original)
+++ lucene/hadoop/trunk/CHANGES.txt Wed Jan 31 10:47:53 2007
@@ -105,6 +105,9 @@
32. HADOOP-961. Add a 'job -events' sub-command that prints job
events, including task completions and failures. (omalley via cutting)
+33. HADOOP-959. Fix namenode snapshot code added in HADOOP-227 to
+ work on Windows. (Dhruba Borthakur via cutting)
+
Release 0.10.1 - 2007-01-10
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSEditLog.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSEditLog.java?view=diff&rev=501942&r1=501941&r2=501942
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSEditLog.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSEditLog.java Wed Jan 31 \
10:47:53 2007 @@ -131,7 +131,7 @@
* server to exit
*/
void processIOError(int index) throws IOException {
- if (editStreams.length == 1) {
+ if (editStreams == null || editStreams.length == 1) {
throw new IOException("Checkpoint directories inaccessible.");
}
assert(index < editFiles.length);
@@ -590,8 +590,15 @@
//
for (int idx = 0; idx < editFiles.length; idx++ ) {
if (!editFilesNew[idx].renameTo(editFiles[idx])) {
- processIOError(idx);
- idx--;
+ //
+ // renameTo() fails on Windows if the destination
+ // file exists.
+ //
+ editFiles[idx].delete();
+ if (!editFilesNew[idx].renameTo(editFiles[idx])) {
+ processIOError(idx);
+ idx--;
+ }
}
}
//
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSImage.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSImage.java?view=diff&rev=501942&r1=501941&r2=501942
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSImage.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/FSImage.java Wed Jan 31 \
10:47:53 2007 @@ -174,11 +174,15 @@
// shutdown. The fsimage.ckpt was created and the edits.new
// file was moved to edits. We complete that checkpoint by
// moving fsimage.new to fsimage. There is no need to
- // update the fstime file here.
+ // update the fstime file here. renameTo fails on Windows
+ // if the destination file already exists.
//
if (!ckptFile.renameTo(curFile)) {
- throw new IOException("Unable to rename " + ckptFile +
- " to " + curFile);
+ curFile.delete();
+ if (!ckptFile.renameTo(curFile)) {
+ throw new IOException("Unable to rename " + ckptFile +
+ " to " + curFile);
+ }
}
}
}
@@ -480,9 +484,14 @@
NameNodeFile.CKPT.getName());
File curFile = new File(imageDirs[idx],
NameNodeFile.IMAGE.getName());
+ // renameTo fails on Windows if the destination file
+ // already exists.
if (!ckpt.renameTo(curFile)) {
- editLog.processIOError(idx);
- idx--;
+ curFile.delete();
+ if (!ckpt.renameTo(curFile)) {
+ editLog.processIOError(idx);
+ idx--;
+ }
}
}
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/NameNode.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/NameNode.java?view=diff&rev=501942&r1=501941&r2=501942
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/NameNode.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/NameNode.java Wed Jan 31 \
10:47:53 2007 @@ -95,6 +95,7 @@
FSImage fsimage = new FSImage(dirs);
FSNamesystem namesystem = new FSNamesystem(fsimage);
fsimage.create();
+ fsimage.getEditLog().close();
}
/** Format a new filesystem. Destroys any filesystem that may already
@@ -106,6 +107,7 @@
FSImage fsimage = new FSImage(dirs);
FSNamesystem namesystem = new FSNamesystem(fsimage);
fsimage.create();
+ fsimage.getEditLog().close();
}
private class NameNodeMetrics {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic