[
https://issues.apache.org/jira/browse/ACCUMULO-1703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Vines updated ACCUMULO-1703:
---------------------------------
Fix Version/s: (was: 1.6.0)
1.7.0
I don't see this making 1.6
> 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.7.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.1#6144)