hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Lowe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-6535) TaskID default constructor results in NPE on toString()
Date Wed, 04 Nov 2015 22:48:27 GMT

    [ https://issues.apache.org/jira/browse/MAPREDUCE-6535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14990621#comment-14990621
] 

Jason Lowe commented on MAPREDUCE-6535:
---------------------------------------

Curious, what code is trying to print an invalid task attempt ID?  The only reason there's
a default constructor is so something can call readFields on it.  It's not a valid task ID
until it's been initialized, and the next step of fixing toString is that the type converters
will then say they can't convert the string back into a task attempt ID, etc.

> TaskID default constructor results in NPE on toString()
> -------------------------------------------------------
>
>                 Key: MAPREDUCE-6535
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6535
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2
>    Affects Versions: 2.6.0
>            Reporter: Daniel Templeton
>            Assignee: Daniel Templeton
>
> This code will reproduce the issue:
> {code}
> new TaskAttemptID().toString();
> {code}
> The issue is that the default constructor leaves the type {{null}}.  The {{get()}} in
{{CharTaskTypesMaps.getRepresentingCharacter()}} then throws an NPE on the null type key.
> The simplest solution would be to only call the {{get()}} on line 288 of {{TaskID.java}}
if {{type}} is not {{null}} and return some other literal otherwise.  Since no part of the
code is tripping on the NPE, what we choose for the literal shouldn't matter.  How about "x"?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message