[
https://issues.apache.org/jira/browse/ACCUMULO-3019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14074814#comment-14074814
]
Christopher Tubbs commented on ACCUMULO-3019:
---------------------------------------------
ServerConfiguration isn't the only non-public API item that is passed to
pluggable components. We really need to make interfaces for our pluggable
components, to make it easier to identify and implement (and to prevent leakage
of non-public API into them). I'm hoping this can be done as part of
ACCUMULO-2589 (or as follow-on actions, as we identify the pluggable
components).
We should avoid putting context-specific items into the API of pluggable
components. For instance, instead of giving a balancer a ServerConfiguration
parameter, we can give it a Configuration object called serverConf. That would
separate the plugin implementation from the internal objects Accumulo uses, and
the appropriate framework can decide how much or how little configuration to
actually pass in the generic Configuration object (for instance, plugins
shouldn't be getting shared secrets from the server configuration).
> Fix ServerConfiguration deprecation
> -----------------------------------
>
> Key: ACCUMULO-3019
> URL: https://issues.apache.org/jira/browse/ACCUMULO-3019
> Project: Accumulo
> Issue Type: Sub-task
> Components: master, tserver
> Reporter: Eric Newton
> Assignee: Eric Newton
> Fix For: 1.7.0
>
>
> The deprecation of ServerConfiguration causes two problems:
> 1) eclipse is showing me ~300 warnings, so I'm missing other warnings in the
> noise
> 2) ServerConfiguration is passed to some plug-ins (Balancer, at least), so
> any existing plug-ins are broken by the change.
> In the past, I would have been fine with just switching to the new class
> {{ServerConfigurationFactory}} but a growing user base and petabytes of
> existing systems gives me pause.
> Instead, I'm thinking we hoist the most popular methods to an abstract
> ServerConfiguration, and provide ServerConfiguationFactory as the
> implementation. This way the extensions continue to work.
> I'm still not sure what to do about static calls to get the SiteConfiguration.
--
This message was sent by Atlassian JIRA
(v6.2#6252)