Author: rangadi
Date: Tue Jul 15 18:34:45 2008
New Revision: 677126
URL: http://svn.apache.org/viewvc?rev=677126&view=rev
Log:
HADOOP-3760. Fix a bug with HDFS file close() mistakenly introduced
by HADOOP-3681. (Lohit Vijayarenu via rangadi)
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java
Modified: hadoop/core/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=677126&r1=677125&r2=677126&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Tue Jul 15 18:34:45 2008
@@ -844,6 +844,9 @@
BUG FIXES
+ HADOOP-3760. Fix a bug with HDFS file close() mistakenly introduced
+ by HADOOP-3681. (Lohit Vijayarenu via rangadi)
+
HADOOP-3681. DFSClient can get into an infinite loop while closing
a file if there are some errors. (Lohit Vijayarenu via rangadi)
Modified: hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java?rev=677126&r1=677125&r2=677126&view=diff
==============================================================================
--- hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java (original)
+++ hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/DFSClient.java Tue Jul 15
18:34:45 2008
@@ -2704,8 +2704,8 @@
}
flushInternal(); // flush all data to Datanodes
- isClosed();
- closed = true;
+ isClosed(); // check to see if flushInternal had any exceptions
+ closed = true; // allow closeThreads() to showdown threads
closeThreads();
@@ -2727,8 +2727,6 @@
long localstart = System.currentTimeMillis();
boolean fileComplete = false;
- int fileCompleteRetry = 0;
- final int checkFileCompleteRetry = 10;
while (!fileComplete) {
fileComplete = namenode.complete(src, clientName);
if (!fileComplete) {
@@ -2739,9 +2737,6 @@
}
} catch (InterruptedException ie) {
}
- // after retrying for checkFileCompleteRetry times check
isClosed()
- if ((++fileCompleteRetry % checkFileCompleteRetry) == 0)
- isClosed();
}
}
} finally {