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

View raw message