MAPREDUCE-5939. StartTime showing up as the epoch time in JHS UI after upgrade. Contributed by Chen He
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1605892 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f194aaa0d1
commit
cfd9344540
@ -273,6 +273,9 @@ Release 2.5.0 - UNRELEASED
|
||||
MAPREDUCE-5924. Changed TaskAttemptImpl to ignore TA_COMMIT_PENDING event
|
||||
at COMMIT_PENDING state. (Zhijie Shen via jianhe)
|
||||
|
||||
MAPREDUCE-5939. StartTime showing up as the epoch time in JHS UI after
|
||||
upgrade (Chen He via jlowe)
|
||||
|
||||
Release 2.4.1 - 2014-06-23
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -168,10 +168,14 @@ public static JobIndexInfo getIndexInfo(String jhFileName) throws IOException {
|
||||
decodeJobHistoryFileName(jobDetails[QUEUE_NAME_INDEX]));
|
||||
|
||||
try{
|
||||
indexInfo.setJobStartTime(
|
||||
Long.parseLong(decodeJobHistoryFileName(jobDetails[JOB_START_TIME_INDEX])));
|
||||
if (jobDetails.length <= JOB_START_TIME_INDEX) {
|
||||
indexInfo.setJobStartTime(indexInfo.getSubmitTime());
|
||||
} else {
|
||||
indexInfo.setJobStartTime(
|
||||
Long.parseLong(decodeJobHistoryFileName(jobDetails[JOB_START_TIME_INDEX])));
|
||||
}
|
||||
} catch (NumberFormatException e){
|
||||
LOG.warn("Unable to parse launch time from job history file "
|
||||
LOG.warn("Unable to parse start time from job history file "
|
||||
+ jhFileName + " : " + e);
|
||||
}
|
||||
} catch (IndexOutOfBoundsException e) {
|
||||
|
@ -39,6 +39,17 @@ public class TestFileNameIndexUtils {
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ JobHistoryUtils.JOB_HISTORY_FILE_EXTENSION;
|
||||
|
||||
private static final String OLD_FORMAT_BEFORE_ADD_START_TIME = "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ JobHistoryUtils.JOB_HISTORY_FILE_EXTENSION;
|
||||
|
||||
private static final String JOB_HISTORY_FILE_FORMATTER = "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
+ FileNameIndexUtils.DELIMITER + "%s"
|
||||
@ -235,6 +246,22 @@ public void testQueueNamePercentDecoding() throws IOException {
|
||||
QUEUE_NAME_WITH_DELIMITER, info.getQueueName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJobStartTimeBackwardsCompatible() throws IOException{
|
||||
String jobHistoryFile = String.format(OLD_FORMAT_BEFORE_ADD_START_TIME,
|
||||
JOB_ID,
|
||||
SUBMIT_TIME,
|
||||
USER_NAME,
|
||||
JOB_NAME_WITH_DELIMITER_ESCAPE,
|
||||
FINISH_TIME,
|
||||
NUM_MAPS,
|
||||
NUM_REDUCES,
|
||||
JOB_STATUS,
|
||||
QUEUE_NAME );
|
||||
JobIndexInfo info = FileNameIndexUtils.getIndexInfo(jobHistoryFile);
|
||||
Assert.assertEquals(info.getJobStartTime(), info.getSubmitTime());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJobHistoryFileNameBackwardsCompatible() throws IOException {
|
||||
JobID oldJobId = JobID.forName(JOB_ID);
|
||||
|
Loading…
Reference in New Issue
Block a user