[
https://issues.apache.org/jira/browse/FLUME-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13227593#comment-13227593
]
[email protected] commented on FLUME-1018:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4292/
-----------------------------------------------------------
Review request for Flume.
Summary
-------
Clearly documents that uses will get an NPE if they assign
context.get{Integer,Boolean,Long} directly to a primitive and the key is
unmapped.
This addresses bug FLUME-1018.
https://issues.apache.org/jira/browse/FLUME-1018
Diffs
-----
flume-ng-core/src/main/java/org/apache/flume/Context.java 0e86f4d
Diff: https://reviews.apache.org/r/4292/diff
Testing
-------
None, it's a doc only change.
Thanks,
Brock
> 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
> Assignee: Brock Noland
> Priority: Minor
> Fix For: v1.1.0
>
> Attachments: FLUME-1018-0.patch
>
>
> 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