Context can cause NullPointerException
--------------------------------------

                 Key: FLUME-1018
                 URL: https://issues.apache.org/jira/browse/FLUME-1018
             Project: Flume
          Issue Type: Bug
          Components: Configuration
    Affects Versions: v1.0.0
            Reporter: Hari Shreedharan
            Priority: Minor
             Fix For: v1.1.0


The new get functions in context class like getInteger, getBoolean etc can 
cause NullPointerException if the configuration key which is being searched is 
not in the context map. This is because the get<Type>(String key) version is 
basically a call to get<Type>(String key, null). Therefore it can return null. 
Java will automatically unbox the value returned by this function if the user 
code accepts it into a native datatype variable rather than a wrapper object. 

For example int rollInterval = getInteger("RollInterval") would cause a 
NullPointerException if rollInterval is absent in the context(since getInteger 
would return null). It is common to accept an Integer object into an int. We 
should at the least fix the documentation to suggest that this function will 
return null if the value is not found, and the return value should be an 
Integer/Boolean/Long object, not their native counter parts.

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