accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-3019) Fix ServerConfiguration deprecation
Date Fri, 25 Jul 2014 19:44:38 GMT


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:
>             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

View raw message