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