accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Elser <>
Subject Fwd: [jira] [Resolved] (ACCUMULO-3167) Decouple MiniAccumuloCluster from integration test base class
Date Wed, 26 Nov 2014 04:35:22 GMT
Heads up for those that might not have been following this.

I revamped how nearly all of our ITs work. In practice, it changed 
relatively little in the tests themselves. If you want to know how to 
use the changes I've made, check out the top-level TESTING file I 
recently added.

A brief tl;dr on how write new ITs (don't worry about getting this 100% 
-- I'm happy to help port new tests you might write using the old 
ConfigurableMacIT or SimpleMacIT classes), is that if you need Accumulo 
available for a test, extend AccumuloClusterIT and use the 
getConnector(), getCluster() and getClusterControl() methods on that 
class to do what you need. Try to not rely on MiniAccumuloCluster(Impl) 
specific methods.

If there is something you specifically want to do with 
MiniAccumuloCluster(Impl) or your test is doing something destructive or 
otherwise unrecoverable to the instance, use JUnit's Assume to only run 
your test when AccumuloClusterIT#getClusterType == ClusterType.MINI or 
override AccumuloClusterIT#canRunTest.

As always, ask questions.

-------- Original Message --------
Subject: [jira] [Resolved] (ACCUMULO-3167) Decouple MiniAccumuloCluster 
from integration test base class
Date: Wed, 26 Nov 2014 04:25:13 +0000 (UTC)
From: Josh Elser (JIRA) <>



Josh Elser resolved ACCUMULO-3167.
     Resolution: Fixed

Submitted -- a couple of follow on tasks already identified.

> Decouple MiniAccumuloCluster from integration test base class
> -------------------------------------------------------------
>                 Key: ACCUMULO-3167
>                 URL:
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: mini, test
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>             Fix For: 1.6.2, 1.7.0
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
> (apologies if I already had a ticket for this somewhere, I couldn't find it)
> Our integration tests are very nice and automated at the moment because we can use MiniAccumuloCluster
to "provision" an Accumulo instance (or used a shared instance), and run a test against it.
For the most part, this works well and provides an accurate test harness.
> Thus, to run integration tests, you need a sufficiently beefy machine since the same
host will be running all of Accumulo as well as performing any client work. When resources
are available to use, it would be nice to leverage them -- whether these are yarn, mesos,
a vanila installation, etc.
> In addition to the additional computational power from using extra hardware, it also
encourages us to use the public API as much as possible instead of relying on "hidden" impl
methods in MiniAccumuloCluster.
> I propose making changes to the IT test base (AbstractMacIT, SimpleMacIT, ConfigurableMacIT)
to add an extra step between them an test classes to allow "injection" of a more generic Accumulo
"cluster" that is not associated with MAC.

This message was sent by Atlassian JIRA

View raw message