[ 
https://issues.apache.org/jira/browse/ACCUMULO-1703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christopher Tubbs updated ACCUMULO-1703:
----------------------------------------

    Priority: Minor  (was: Major)
    
> Thrift generated code isn't properly checked for optional fields
> ----------------------------------------------------------------
>
>                 Key: ACCUMULO-1703
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1703
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: Christopher Tubbs
>            Priority: Minor
>             Fix For: 1.6.0
>
>
> In our thrift definition files, we declare some fields as optional. However, 
> we don't actually check to see if they are sent. This may be okay for 
> Objects, which we can check for null, but it won't work for checking optional 
> primitives.
> Example:
> ProxyServer.createBatchScanner() accepts a BatchScanOptions object, which has 
> the number of threads as an optional parameter. Instead of calling 
> opts.threads, we should check if opts.isSetThreads() is true, and then 
> retrieve it with opts.getThreads().
> This is an essential check for all optional arguments (non-optional args are 
> validated by the generated validate() method).
> The importance of the optional field is high, if we want to support RPC 
> compatibility across versions. As far as I know, this is one of the goals of 
> the client proxy. So, we must use the thrift features (such as the optional 
> flag) correctly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to