Author: ddas
Date: Mon Dec 29 03:26:38 2008
New Revision: 729867
URL: http://svn.apache.org/viewvc?rev=729867&view=rev
Log:
Merge -r 728675:728676 from trunk onto 0.19 branch. Fixes HADOOP-4924.
Modified:
hadoop/core/branches/branch-0.19/CHANGES.txt
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
Modified: hadoop/core/branches/branch-0.19/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/CHANGES.txt?rev=729867&r1=729866&r2=729867&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.19/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.19/CHANGES.txt Mon Dec 29 03:26:38 2008
@@ -1,5 +1,7 @@
Hadoop Change Log
+ HADOOP-4924. Fixes a race condition in TaskTracker re-init. (ddas)
+
Release 0.19.1 - Unreleased
IMPROVEMENTS
Modified:
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
URL:
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java?rev=729867&r1=729866&r2=729867&view=diff
==============================================================================
---
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
(original)
+++
hadoop/core/branches/branch-0.19/src/mapred/org/apache/hadoop/mapred/TaskTracker.java
Mon Dec 29 03:26:38 2008
@@ -814,21 +814,7 @@
for (TaskInProgress tip : tasksToClose.values()) {
tip.jobHasFinished(false);
}
-
- // Shutdown local RPC servers. Do them
- // in parallel, as RPC servers can take a long
- // time to shutdown. (They need to wait a full
- // RPC timeout, which might be 10-30 seconds.)
- new Thread("RPC shutdown") {
- @Override
- public void run() {
- if (taskReportServer != null) {
- taskReportServer.stop();
- taskReportServer = null;
- }
- }
- }.start();
-
+
this.running = false;
// Clear local storage
@@ -854,6 +840,11 @@
} catch (InterruptedException e) {
}
}
+
+ if (taskReportServer != null) {
+ taskReportServer.stop();
+ taskReportServer = null;
+ }
}
/**