Author: cutting
Date: Thu Mar 23 10:12:28 2006
New Revision: 388225
URL: http://svn.apache.org/viewcvs?rev=388225&view=rev
Log:
Fix for HADOOP-83.
Modified:
lucene/hadoop/trunk/bin/start-all.sh
lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSClient.java
Modified: lucene/hadoop/trunk/bin/start-all.sh
URL:
http://svn.apache.org/viewcvs/lucene/hadoop/trunk/bin/start-all.sh?rev=388225&r1=388224&r2=388225&view=diff
==============================================================================
--- lucene/hadoop/trunk/bin/start-all.sh (original)
+++ lucene/hadoop/trunk/bin/start-all.sh Thu Mar 23 10:12:28 2006
@@ -5,7 +5,13 @@
bin=`dirname "$0"`
bin=`cd "$bin"; pwd`
-"$bin"/hadoop-daemon.sh start namenode
+# start dfs daemons
+# start namenode after datanodes, to minimize time namenode is up w/o data
+# note: datanodes will log connection errors until namenode starts
"$bin"/hadoop-daemons.sh start datanode
+"$bin"/hadoop-daemon.sh start namenode
+
+# start mapred daemons
+# start jobtracker first to minimize connection errors at startup
"$bin"/hadoop-daemon.sh start jobtracker
"$bin"/hadoop-daemons.sh start tasktracker
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSClient.java
URL:
http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSClient.java?rev=388225&r1=388224&r2=388225&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSClient.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DFSClient.java Thu Mar
23 10:12:28 2006
@@ -40,7 +40,7 @@
********************************************************/
class DFSClient implements FSConstants {
public static final Logger LOG =
LogFormatter.getLogger("org.apache.hadoop.fs.DFSClient");
- static int MAX_BLOCK_ACQUIRE_FAILURES = 10;
+ static int MAX_BLOCK_ACQUIRE_FAILURES = 3;
ClientProtocol namenode;
String localName;
boolean running = true;
@@ -358,17 +358,15 @@
chosenNode = bestNode(nodes[targetBlock], deadNodes);
targetAddr =
DataNode.createSocketAddr(chosenNode.getName().toString());
} catch (IOException ie) {
- /**
if (failures >= MAX_BLOCK_ACQUIRE_FAILURES) {
throw new IOException("Could not obtain block " +
blocks[targetBlock]);
}
- **/
if (nodes[targetBlock] == null ||
nodes[targetBlock].length == 0) {
LOG.info("No node available for block " +
blocks[targetBlock]);
}
LOG.info("Could not obtain block from any node: " + ie);
try {
- Thread.sleep(10000);
+ Thread.sleep(3000);
} catch (InterruptedException iex) {
}
deadNodes.clear();