You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ra...@apache.org on 2009/02/06 21:23:23 UTC
svn commit: r741705 - in /hadoop/core/branches/branch-0.19: ./
src/hdfs/org/apache/hadoop/hdfs/server/datanode/
src/test/org/apache/hadoop/hdfs/
src/test/org/apache/hadoop/hdfs/server/datanode/
src/test/org/apache/hadoop/hdfs/server/namenode/
Author: rangadi
Date: Fri Feb 6 20:23:22 2009
New Revision: 741705
URL: http://svn.apache.org/viewvc?rev=741705&view=rev
Log:
HADOOP-5114. Remove timeout for accept() in DataNode. This makes accept()
fail in JDK on Windows and causes many tests to fail. (Raghu Angadi)
Modified:
hadoop/core/branches/branch-0.19/ (props changed)
hadoop/core/branches/branch-0.19/CHANGES.txt (contents, props changed)
hadoop/core/branches/branch-0.19/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java
hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/MiniDFSCluster.java
hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java
hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/namenode/TestOverReplicatedBlocks.java
Propchange: hadoop/core/branches/branch-0.19/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 6 20:23:22 2009
@@ -1 +1 @@
-/hadoop/core/trunk:697306,698176,699056,699098,699415,699424,699444,699490,699517,700163,700628,700923,701273,701398,703923,704203,704261,704701,704703,704707,704712,704732,704748,704989,705391,705420,705430,705762,706350,706707,706719,706796,706802,707258,707262,708623,708641,708710,709040,709303,712881,713888,720602,723013,723460,723831,723918,724883,727117,727212,727217,727228,727869,732572,732777,733887,734870,736426,738697,740077
+/hadoop/core/trunk:697306,698176,699056,699098,699415,699424,699444,699490,699517,700163,700628,700923,701273,701398,703923,704203,704261,704701,704703,704707,704712,704732,704748,704989,705391,705420,705430,705762,706350,706707,706719,706796,706802,707258,707262,708623,708641,708710,709040,709303,712881,713888,720602,723013,723460,723831,723918,724883,727117,727212,727217,727228,727869,732572,732777,733887,734870,736426,738697,740077,741703
Modified: hadoop/core/branches/branch-0.19/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/CHANGES.txt?rev=741705&r1=741704&r2=741705&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.19/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.19/CHANGES.txt Fri Feb 6 20:23:22 2009
@@ -1062,6 +1062,13 @@
HADOOP-4500. Fix MultiFileSplit to get the FileSystem from the relevant
path rather than the JobClient. (Joydeep Sen Sarma via dhruba)
+Release 0.18.4 - Unreleased
+
+ BUG FIXES
+
+ HADOOP-5114. Remove timeout for accept() in DataNode. This makes accept()
+ fail in JDK on Windows and causes many tests to fail. (Raghu Angadi)
+
Release 0.18.3 - 2009-01-27
IMPROVEMENTS
Propchange: hadoop/core/branches/branch-0.19/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 6 20:23:22 2009
@@ -1,2 +1,2 @@
/hadoop/core/branches/branch-0.18/CHANGES.txt:727226
-/hadoop/core/trunk/CHANGES.txt:697306,698176,699056,699098,699415,699424,699444,699490,699517,700163,700628,700923,701273,701398,703923,704203,704261,704701,704703,704707,704712,704732,704748,704989,705391,705420,705430,705762,706350,706707,706719,706796,706802,707258,707262,708623,708641,708710,708723,709040,709303,711717,712881,713888,720602,723013,723460,723831,723918,724883,727117,727212,727217,727228,727869,732572,732777,733887,734870,735082,736426,738697,740077
+/hadoop/core/trunk/CHANGES.txt:697306,698176,699056,699098,699415,699424,699444,699490,699517,700163,700628,700923,701273,701398,703923,704203,704261,704701,704703,704707,704712,704732,704748,704989,705391,705420,705430,705762,706350,706707,706719,706796,706802,707258,707262,708623,708641,708710,708723,709040,709303,711717,712881,713888,720602,723013,723460,723831,723918,724883,727117,727212,727217,727228,727869,732572,732777,733887,734870,735082,736426,738697,740077,741703
Modified: hadoop/core/branches/branch-0.19/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java?rev=741705&r1=741704&r2=741705&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.19/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java (original)
+++ hadoop/core/branches/branch-0.19/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java Fri Feb 6 20:23:22 2009
@@ -297,7 +297,6 @@
ServerSocketChannel.open().socket() : new ServerSocket();
Server.bind(ss, socAddr, 0);
ss.setReceiveBufferSize(DEFAULT_DATA_SOCKET_SIZE);
- ss.setSoTimeout(conf.getInt("dfs.dataXceiver.timeoutInMS", 30000)); //30s
// adjust machine name with the actual port
tmpPort = ss.getLocalPort();
selfAddr = new InetSocketAddress(ss.getInetAddress().getHostAddress(),
@@ -572,6 +571,11 @@
} catch (InterruptedException e) {}
}
}
+ // wait for dataXceiveServer to terminate
+ try {
+ this.dataXceiverServer.join();
+ } catch (InterruptedException ie) {
+ }
}
RPC.stopProxy(namenode); // stop the RPC threads
@@ -1146,12 +1150,6 @@
}
}
- // wait for dataXceiveServer to terminate
- try {
- this.dataXceiverServer.join();
- } catch (InterruptedException ie) {
- }
-
LOG.info(dnRegistration + ":Finishing DataNode in: "+data);
shutdown();
}
Modified: hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/MiniDFSCluster.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/MiniDFSCluster.java?rev=741705&r1=741704&r2=741705&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/MiniDFSCluster.java (original)
+++ hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/MiniDFSCluster.java Fri Feb 6 20:23:22 2009
@@ -602,7 +602,7 @@
/*
* Shutdown a particular datanode
*/
- DataNodeProperties stopDataNode(int i) {
+ public DataNodeProperties stopDataNode(int i) {
if (i < 0 || i >= dataNodes.size()) {
return null;
}
Modified: hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java?rev=741705&r1=741704&r2=741705&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java (original)
+++ hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/datanode/TestDiskError.java Fri Feb 6 20:23:22 2009
@@ -37,10 +37,18 @@
/** Test if a datanode can correctly handle errors during block read/write*/
public class TestDiskError extends TestCase {
public void testShutdown() throws Exception {
+ if (System.getProperty("os.name").startsWith("Windows")) {
+ /**
+ * This test depends on OS not allowing file creations on a directory
+ * that does not have write permissions for the user. Apparently it is
+ * not the case on Windows (at least under Cygwin), and possibly AIX.
+ * This is disabled on Windows.
+ */
+ return;
+ }
// bring up a cluster of 3
Configuration conf = new Configuration();
conf.setLong("dfs.block.size", 512L);
- conf.setInt("dfs.dataXceiver.timeoutInMS", 1000);
MiniDFSCluster cluster = new MiniDFSCluster(conf, 3, true, null);
cluster.waitActive();
FileSystem fs = cluster.getFileSystem();
Modified: hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/namenode/TestOverReplicatedBlocks.java
URL: http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/namenode/TestOverReplicatedBlocks.java?rev=741705&r1=741704&r2=741705&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/namenode/TestOverReplicatedBlocks.java (original)
+++ hadoop/core/branches/branch-0.19/src/test/org/apache/hadoop/hdfs/server/namenode/TestOverReplicatedBlocks.java Fri Feb 6 20:23:22 2009
@@ -9,6 +9,7 @@
import org.apache.hadoop.hdfs.DFSTestUtil;
import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.hadoop.hdfs.TestDatanodeBlockScanner;
+import org.apache.hadoop.hdfs.MiniDFSCluster.DataNodeProperties;
import org.apache.hadoop.hdfs.protocol.Block;
import org.apache.hadoop.hdfs.protocol.DatanodeID;
@@ -35,12 +36,20 @@
// corrupt the block on datanode 0
Block block = DFSTestUtil.getFirstBlock(fs, fileName);
TestDatanodeBlockScanner.corruptReplica(block.getBlockName(), 0);
+ DataNodeProperties dnProps = cluster.stopDataNode(0);
// remove block scanner log to trigger block scanning
File scanLog = new File(System.getProperty("test.build.data"),
"dfs/data/data1/current/dncp_block_verification.log.curr");
- assertTrue(scanLog.delete());
+ //wait for one minute for deletion to succeed;
+ for(int i=0; !scanLog.delete(); i++) {
+ assertTrue("Could not delete log file in one minute", i < 60);
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignored) {}
+ }
+
// restart the datanode so the corrupt replica will be detected
- cluster.restartDataNode(0);
+ cluster.restartDataNode(dnProps);
DFSTestUtil.waitReplication(fs, fileName, (short)2);
final DatanodeID corruptDataNode =