WritableComparator newKey() fails for NullWritable
--------------------------------------------------

                 Key: HADOOP-3665
                 URL: https://issues.apache.org/jira/browse/HADOOP-3665
             Project: Hadoop Core
          Issue Type: Bug
          Components: io
    Affects Versions: 0.17.0, 0.16.4, 0.16.3, 0.16.2, 0.16.1, 0.16.0
         Environment: n/a
            Reporter: Lukas Vlcek
            Priority: Minor
             Fix For: 0.19.0


It is not possible to use NullWritable as a key in order to suppress key value 
in output.

Syndrome exception:
Caused by: java.lang.IllegalAccessException: Class 
org.apache.hadoop.io.WritableComparator can not access a member of class 
org.apache.hadoop.io.NullWritable with modifiers "private"

The problem is that NullWritable is a singleton and does not provide public 
non-parametric constructor. The following code in WritableComparator causes the 
exception: return (WritableComparable)keyClass.newInstance();

Proposed simple solution is to use ReflectionUtils instead (it requires 
modification as well).

This issue is probably related to HADOOP-2922

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to