accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ACCUMULO-1703) Thrift generated code isn't properly checked for optional fields
Date Sun, 05 Apr 2015 05:53:34 GMT

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

Josh Elser updated ACCUMULO-1703:
---------------------------------
    Fix Version/s:     (was: 1.7.0)
                   1.8.0

> 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.8.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 was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message