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

Harsh J commented on MAPREDUCE-3516:
------------------------------------

Yes, I guessed so too. The {{.getClass}} stuff we do for type checking will be 
the death of 'null' at entry itself.

Otherwise, the serializers are now entirely pluggable and are type agnostic -- 
they are not limited to just Writables and if I wanted to write a generic 
serializer with <Object, Object>, I could as well do that (and nulls may be OK 
then, sometimes). This is what I was wondering about -- but given the first 
point, I think it is not possible to pass a genuine null at all.

I think it is alright to look for NPEs before the map output buffer runs into 
them (while doing those getClass stuff) and show a proper message ("Received 
k/v was null" or so?).
                
> Possible NPE in org.apache.hadoop.mapred.MapTask.MapOutputBuffer.collect(K 
> key, V value, int partition)
> -------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-3516
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3516
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2
>    Affects Versions: 0.20.1, 0.20.2, 0.20.203.0, 0.20.205.0, 0.23.0
>            Reporter: Subroto Sanyal
>            Assignee: Subroto Sanyal
>
> *org.apache.hadoop.mapred.MapTask.MapOutputBuffer.collect* accepts a pair of 
> Key and Value. There is chance that if somehow if a Null value or Key is 
> passed to the method, we can end up having NPE.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to