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