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 cu...@apache.org on 2006/07/31 21:45:32 UTC
svn commit: r427231 - in /lucene/hadoop/trunk: CHANGES.txt build.xml
src/test/org/apache/hadoop/mapred/MiniMRCluster.java
Author: cutting
Date: Mon Jul 31 12:45:31 2006
New Revision: 427231
URL: http://svn.apache.org/viewvc?rev=427231&view=rev
Log:
HADOOP-389. Fix intermitten t failures of mapreduce unit tests. Also fix some build dependencies.
Modified:
lucene/hadoop/trunk/CHANGES.txt
lucene/hadoop/trunk/build.xml
lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/MiniMRCluster.java
Modified: lucene/hadoop/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/CHANGES.txt?rev=427231&r1=427230&r2=427231&view=diff
==============================================================================
--- lucene/hadoop/trunk/CHANGES.txt (original)
+++ lucene/hadoop/trunk/CHANGES.txt Mon Jul 31 12:45:31 2006
@@ -101,6 +101,10 @@
on nodes with the least free space first.
(Johan Oskarson via cutting)
+29. HADOOP-389. Fix intermittent failures of mapreduce unit tests.
+ Also fix some build dependencies.
+ (Mahadev & Konstantin via cutting)
+
Release 0.4.0 - 2006-06-28
Modified: lucene/hadoop/trunk/build.xml
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/build.xml?rev=427231&r1=427230&r2=427231&view=diff
==============================================================================
--- lucene/hadoop/trunk/build.xml (original)
+++ lucene/hadoop/trunk/build.xml Mon Jul 31 12:45:31 2006
@@ -253,7 +253,7 @@
<!-- ================================================================== -->
<!-- Compile test code -->
<!-- ================================================================== -->
- <target name="compile-core-test" depends="compile-core, jar">
+ <target name="compile-core-test" depends="compile-examples">
<javac
encoding="${build.encoding}"
srcdir="${test.src.dir}"
@@ -278,7 +278,7 @@
<!-- ================================================================== -->
<!-- Run unit tests -->
<!-- ================================================================== -->
- <target name="test-core" depends="compile-core, examples, compile-core-test">
+ <target name="test-core" depends="compile-core-test">
<delete dir="${test.build.data}"/>
<mkdir dir="${test.build.data}"/>
Modified: lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/MiniMRCluster.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/MiniMRCluster.java?rev=427231&r1=427230&r2=427231&view=diff
==============================================================================
--- lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/MiniMRCluster.java (original)
+++ lucene/hadoop/trunk/src/test/org/apache/hadoop/mapred/MiniMRCluster.java Mon Jul 31 12:45:31 2006
@@ -80,6 +80,8 @@
class TaskTrackerRunner implements Runnable {
TaskTracker tt;
String localDir;
+ boolean isInitialized = false;
+ boolean isDead = false;
/**
* Create and run the task tracker.
@@ -101,8 +103,10 @@
this.localDir = ttDir.getAbsolutePath();
jc.set("mapred.local.dir", ttDir.getAbsolutePath());
tt = new TaskTracker(jc);
+ isInitialized = true;
tt.run();
} catch (Throwable e) {
+ isDead = true;
tt = null;
System.err.println("Task tracker crashed:");
e.printStackTrace();
@@ -154,10 +158,14 @@
*/
public void waitUntilIdle() {
for(Iterator itr= taskTrackerList.iterator(); itr.hasNext(); ) {
- TaskTracker tracker = ((TaskTrackerRunner) itr.next()).tt;
- while (!tracker.isIdle()) {
- System.out.println("Waiting for task tracker " + tracker.getName() +
- " to finish.");
+ TaskTrackerRunner runner = (TaskTrackerRunner) itr.next();
+ while (!runner.isDead && (!runner.isInitialized || !runner.tt.isIdle())) {
+ if (!runner.isInitialized) {
+ System.out.println("Waiting for task tracker to start.");
+ } else {
+ System.out.println("Waiting for task tracker " + runner.tt.getName() +
+ " to be idle.");
+ }
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {}
@@ -206,17 +214,15 @@
if (taskTrackerFirst) {
jobTrackerThread.start();
}
- try { // let taskTrackers get started
- Thread.sleep(2000);
- } catch(InterruptedException e) {
- }
+ waitUntilIdle();
}
/**
* Shut down the servers.
*/
public void shutdown() {
- try {
+ try {
+ waitUntilIdle();
for (int idx = 0; idx < numTaskTrackers; idx++) {
TaskTrackerRunner taskTracker = (TaskTrackerRunner) taskTrackerList.get(idx);
Thread taskTrackerThread = (Thread) taskTrackerThreadList.get(idx);