Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo, mail # dev - Integration Tests


Copy link to this message
-
Re: Integration Tests
Corey Nolet 2013-04-29, 17:00
>From an API perspective, I like how easy it is to spin up my ProxyServer in
a MiniAccumuloCluster and work through the code in my C++ wrapper around
the proxy client. It keeps the access to the Accumulo stack very clean.
However, I really do like the idea of having the option to run the
MiniAccumuloCluster manually outside of both the proxy and the integration
test environments, (maybe with a bash script or a main method?). If there
was a tarball that I could extract into a directory and a script that I
could run to start it up with known settings, it would replace my having to
install zookeeper & accumulo manually when I want to run tests on my own
box.

On one hand, it makes it a little more complicated to start up the proxy.
But on the other hand, it makes starting up a local instance of Accumulo
for development much less complicated.
On Mon, Apr 29, 2013 at 12:27 PM, Christopher <[EMAIL PROTECTED]> wrote:

> The proxy connecting to a mock Accumulo is a bit different from
> starting an instance of Accumulo, because mock is entirely
> self-contained from its the API, and there's nothing to start up.
> Having a set of options to use different connector types is different
> than having an option to launch different Accumulos. I think. In any
> case, it may not need to change as I've described it, but if we want
> to support end-to-end integration tests, we need to fix the circular
> dependency with the proxy and MiniAccumuloCluster.
>
> I don't know of any other issues with this dependency structure for
> 1.5, but I do think it should be resolved before 1.5 release, so it
> won't create churn in 1.6.
>
> --
> Christopher L Tubbs II
> http://gravatar.com/ctubbsii
>
>
> On Mon, Apr 29, 2013 at 10:58 AM, Keith Turner <[EMAIL PROTECTED]> wrote:
> > On Sun, Apr 28, 2013 at 1:45 AM, Christopher <[EMAIL PROTECTED]>
> wrote:
> >
> >> I agree that accumulo-test is the best place, but I think we should
> >> make it a point that no other modules should depend on accumulo-test
> >> for precisely this reason... to provide a place for end-to-end tests
> >> of other modules (the assembly module notwithstanding).
> >>
> >> This is actually a good reason to move MiniAccumuloCluster from test,
> >> because the proxy currently has a dependency on it just for
> >> MiniAccumuloCluster. That way, end-to-end integration testing that
> >> includes even testing of the proxy would make sense to exist in
> >> accumulo-test, and we'd avoid a circular dependency. It could be moved
> >> to server instead, as it seems to me that it is essentially an
> >> alternate server implementation (from the proxy's perspective,
> >> anyway). Though, I'm not sure I like the idea that the proxy is
> >> dependent on anything other than client code (accumulo-core).
> >
> >
> >> Alternatively, the proxy's dependency could be reversed, so that
> >> instead of the proxy having an option to start up a
> >> MiniAccumuloCluster, the MiniAccumuloCluster could have an option to
> >>
> >
> > The proxy also has an option to use mock Accumulo.  It seems to follow
> from
> > this that MiniAccumulo would be an option also.
> >
> >
> >> start up the proxy. This reversal actually makes more sense to me
> >
> > anyway. I never understood why the proxy should have the option to
> >> start up Accumulo, Mini or otherwise, as the natural operation, as it
> >> seems to me to be a bit backwards: an interface launching the service,
> >> rather than a service exposing an interface. I suppose it's not
> >> unprecedented, but it seems backwards to me.
> >>
> >> A third option is to move MiniAccumuloCluster to another module
> >> entirely, but I'm not so sure that's necessary or desirable.
> >>
> >> Any of these options removes the circular dependency, if we're going
> >> to make the accumulo-test the place to put end-to-end integration
> >> tests.
> >>
> >> My preference is a combination of the first two options: to put
> >> MiniAccumuloCluster in the server module and reverse the dependency,

Corey Nolet
Senior Software Engineer
TexelTek, inc.
[Office] 301.880.7123
[Cell] 410-903-2110