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] [Commented] (ACCUMULO-2143) Add convenience method to get ZooKeeper access with MiniAccumuloCluster
Date Wed, 26 Mar 2014 00:48:21 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-2143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13947404#comment-13947404
] 

Josh Elser commented on ACCUMULO-2143:
--------------------------------------

(aside: this is a little tangential, but since I'm already on a soapbox for this and it impacts
how this ticket will be played out).

It doesn't make sense to me why MiniAccumuloCluster is a concrete class which, ultimately
still tied to a MiniAccumuloClusterImpl. MiniAccumuloCluster *requires* a MiniAccumuloClusterImpl
or something that extends it. This is what's really chafing me about the separation of "accumulo
user" and "accumulo developer" methods -- you *always* have them both. Not to mention, this
hierarchy is really obnoxious to create a new implementation of AccumuloMiniCluster(Impl)
because I have to carry all of the cruft of the "original" implementation with me.

Bringing this back around to this ticket, while I still don't agree with the reasoning that
exposing the FileSystem or ZooKeeper object that MiniAccumuloClusterImpl is getting us anything
other than the ability to say "we didn't change this [arbitrary] API". For "users" who might
not care what the underlying FileSystem or ZooKeeper connection, it's merely an extra two
items in their editor's code-completion. For "users" who would care to use this information,
we now make them jump through extra hoops to get it. That just doesn't make any sense to me
for something we haven't even released.

To be honest, I really want to re-open ACCUMULO-2151, make MiniAccumuloCluster an interface,
MiniAccumuloClusterImpl an implementation of said interface, and create some factory class
to make instances, ala Connector.tableOperations, Connector.securityOperations, etc. Right
now there's a class we call an "API" that cannot be generically extended for the sake of saying
"we have an API".

> Add convenience method to get ZooKeeper access with MiniAccumuloCluster
> -----------------------------------------------------------------------
>
>                 Key: ACCUMULO-2143
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2143
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: mini
>            Reporter: Josh Elser
>            Assignee: Michael Wall
>              Labels: newbie
>             Fix For: 1.7.0
>
>
> When using MAC, it may be convenient to get a ZooKeeper object (or a ZooReaderWriter).
> The user has the ability to figure out or set all of the information they need to make
their own connection, but it would be nice to just have a {{MiniAccumuloCluster.getZooKeeper()}}
method.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message