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 sh...@apache.org on 2009/04/17 09:51:03 UTC
svn commit: r765887 - in /hadoop/core/trunk: CHANGES.txt
src/mapred/org/apache/hadoop/mapred/JobTracker.java
Author: sharad
Date: Fri Apr 17 07:51:03 2009
New Revision: 765887
URL: http://svn.apache.org/viewvc?rev=765887&view=rev
Log:
HADOOP-5533. Recovery duration shown on the jobtracker webpage is inaccurate. Contributed by Amar Kamat.
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/JobTracker.java
Modified: hadoop/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=765887&r1=765886&r2=765887&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Fri Apr 17 07:51:03 2009
@@ -1261,6 +1261,9 @@
HADOOP-5655. TestMRServerPorts fails on java.net.BindException. (Devaraj
Das via hairong)
+ HADOOP-5533. Recovery duration shown on the jobtracker webpage is
+ inaccurate. (Amar Kamat via sharad)
+
Release 0.19.2 - Unreleased
BUG FIXES
Modified: hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/JobTracker.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/JobTracker.java?rev=765887&r1=765886&r2=765887&view=diff
==============================================================================
--- hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/JobTracker.java (original)
+++ hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/JobTracker.java Fri Apr 17 07:51:03 2009
@@ -1199,13 +1199,15 @@
}
public void recover() {
+ long recoveryProcessStartTime = System.currentTimeMillis();
if (!shouldRecover()) {
// clean up jobs structure
jobsToRecover.clear();
return;
}
- LOG.info("Restart count of the jobtracker : " + restartCount);
+ LOG.info("Starting the recovery process with restart count : "
+ + restartCount);
// I. Init the jobs and cache the recovered job history filenames
Map<JobID, Path> jobHistoryFilenameMap = new HashMap<JobID, Path>();
@@ -1261,6 +1263,11 @@
}
}
+ LOG.info("Took a total of "
+ + StringUtils.formatTime(System.currentTimeMillis()
+ - recoveryProcessStartTime)
+ + " for recovering filenames of all the jobs from history.");
+
long recoveryStartTime = System.currentTimeMillis();
// II. Recover each job
@@ -1318,14 +1325,21 @@
}
}
- recoveryDuration = System.currentTimeMillis() - recoveryStartTime;
+ long recoveryProcessEndTime = System.currentTimeMillis();
+ LOG.info("Took a total of "
+ + StringUtils.formatTime(recoveryProcessEndTime
+ - recoveryStartTime)
+ + " for parsing and recovering all the jobs from history.");
+
+ recoveryDuration = recoveryProcessEndTime - recoveryProcessStartTime;
+ LOG.info("Took a total of " + StringUtils.formatTime(recoveryDuration)
+ + " for the whole recovery process.");
hasRecovered = true;
// III. Finalize the recovery
synchronized (trackerExpiryQueue) {
// Make sure that the tracker statuses in the expiry-tracker queue
// are updated
- long now = System.currentTimeMillis();
int size = trackerExpiryQueue.size();
for (int i = 0; i < size ; ++i) {
// Get the first status
@@ -1335,14 +1349,14 @@
trackerExpiryQueue.remove(status);
// Set the new time
- status.setLastSeen(now);
+ status.setLastSeen(recoveryProcessEndTime);
// Add back to get the sorted list
trackerExpiryQueue.add(status);
}
}
- LOG.info("Restoration complete");
+ LOG.info("Restoration done. Recovery complete!");
}
int totalEventsRecovered() {