[ 
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

        

Reply via email to