You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Harsh J (JIRA)" <ji...@apache.org> on 2012/09/27 18:32:07 UTC

[jira] [Updated] (MAPREDUCE-4464) Reduce tasks failing with NullPointerException in ConcurrentHashMap.get()

     [ https://issues.apache.org/jira/browse/MAPREDUCE-4464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Harsh J updated MAPREDUCE-4464:
-------------------------------

    Attachment: MAPREDUCE-4464.patch

I improved the message in Clint's patch a slight bit to indicate what to look at.

And I could also successfully reproduce the issue on a forced bad hostname machine (devel_vm.vm):

{code}
12/09/27 21:52:16 INFO mapred.JobClient: Task Id : attempt_201209272149_0001_r_000000_2, Status : FAILED
Error: java.io.IOException: Invalid hostname found in tracker location: 'http://devel_vm.vm:50060'
	at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$GetMapEventsThread.getMapCompletionEvents(ReduceTask.java:2920)
	at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$GetMapEventsThread.run(ReduceTask.java:2845)
{code}

                
> Reduce tasks failing with NullPointerException in ConcurrentHashMap.get()
> -------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4464
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4464
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: task
>    Affects Versions: 1.0.0
>            Reporter: Clint Heath
>            Assignee: Clint Heath
>            Priority: Minor
>         Attachments: MAPREDUCE-4464_new.patch, MAPREDUCE-4464.patch, MAPREDUCE-4464.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> If DNS does not resolve hostnames properly, reduce tasks can fail with a very misleading exception.
> as per my peer Ahmed's diagnosis:
> In ReduceTask, it seems that event.getTaskTrackerHttp() returns a malformed URI, and so host from:
> {code}
> String host = u.getHost();
> {code}
> is evaluated to null and the NullPointerException is thrown afterwards in the ConcurrentHashMap.
> I have written a patch to check for a null hostname condition when getHost is called in the getMapCompletionEvents method and print an intelligible warning message rather than suppressing it until later when it becomes confusing and misleading.

--
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