[
https://issues.apache.org/jira/browse/ACCUMULO-3199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher Tubbs reassigned ACCUMULO-3199:
-------------------------------------------
Assignee: Christopher Tubbs
> RPC options in client configuration are passed to the RPC layer poorly
> ----------------------------------------------------------------------
>
> Key: ACCUMULO-3199
> URL: https://issues.apache.org/jira/browse/ACCUMULO-3199
> Project: Accumulo
> Issue Type: Task
> Components: client
> Reporter: Christopher Tubbs
> Assignee: Christopher Tubbs
> Fix For: 1.7.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The client configuration options for SSL, timeout, and (possibly) other
> RPC-related options are wrapped into an AccumuloConfiguration object to pass
> down to the RPC layer. This is done in a bit of a convoluted way, by
> leveraging the deprecated {{Instance.getConfiguration()}} method and relying
> on the fact that the {{Instance}} object is already passed through, instead
> of passing it through the {{Connector}} and internally to the the RPC layer
> where it's needed.
> The problem with this is that only the {{ZooKeeperInstance}} holds client
> configuration for this purpose, and simply calling
> {{instance.getConfiguration()}} will not always work as expected if you don't
> know what kind of {{Instance}} object you have. Further, this configuration
> object is occasionally incorrectly used in server code to read the
> server-side site configuration, when {{new
> ServerConfigurationFactory(instance).getConfiguration()}} should be used
> instead. This can lead to unexpected behavior if you are relying on the
> {{HdfsZooInstance}} implementation to provide the site configuration, but
> instead you have a different {{Instance}}, because all you'll get back is the
> {{DefaultConfiguration}}.
> The code that uses {{Instance.getConfiguration()}} needs to be changed, and
> the RPC-related configuration needs to be passed more explicitly through to
> the RPC layer, so we are less prone to bugs which make assumptions about
> which configuration is being retrieved with the deprecated API.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)