[ https://issues.apache.org/jira/browse/MAPREDUCE-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13572801#comment-13572801 ]
Jason Lowe commented on MAPREDUCE-4822: --------------------------------------- The intent of TaskAttemptID.forName() is to be the inverse of its toString(). In these cases we have a valid TaskAttemptID, so the IllegalArgumentException should never be thrown in this context unless forName() or toString() is broken. And I can't imagine why someone would expect and rely on that behavior if it somehow were throwing it. We have an ID, someone is asking for it, why convert it to a string and back before returning it? To sum up, {{return TaskAttemptID.forName(taskAttempt.toString())}} should just be {{return taskAttempt}}. If you're not comfortable making the change, that's fine let me know. We can either file a followup JIRA or I can post the changes to the patch. > Unnecessary conversions in History Events > ----------------------------------------- > > Key: MAPREDUCE-4822 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-4822 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: jobhistoryserver > Affects Versions: 0.23.4 > Reporter: Robert Joseph Evans > Assignee: Chu Tong > Priority: Trivial > Labels: patch > Fix For: 0.24.0 > > Attachments: MAPREDUCE-4822.patch > > > There are a number of conversions in the Job History Event classes that are > totally unnecessary. It appears that they were originally used to convert > from the internal avro format, but now many of them do not pull the values > from the avro they store them internally. > For example: > {code:title=TaskAttemptFinishedEvent.java} > /** Get the task type */ > public TaskType getTaskType() { > return TaskType.valueOf(taskType.toString()); > } > {code} > The code currently is taking an enum, converting it to a string and then > asking the same enum to convert it back to an enum. If java work properly > this should be a noop and a reference to the original taskType should be > returned. > There are several places that a string is having toString called on it, and > since strings are immutable it returns a reference to itself. > The various ids are not immutable and probably should not be changed at this > point. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira