You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/02/12 23:28:21 UTC

[02/27] incubator-usergrid git commit: Cleaned up threading model and CassandraResource.

Cleaned up threading model and CassandraResource.


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/61a81d57
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/61a81d57
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/61a81d57

Branch: refs/heads/USERGRID-365
Commit: 61a81d5744428246152318eb8f06f9946541ae84
Parents: fc419e7
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Dec 12 14:12:35 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Dec 12 14:12:35 2014 -0700

----------------------------------------------------------------------
 stack/core/pom.xml                              | 104 +------------------
 .../org/apache/usergrid/AbstractCoreIT.java     |   2 +-
 .../batch/ConcurrentSchedulerITSuite.java       |   2 +-
 .../batch/job/AbstractSchedulerRuntimeIT.java   |   2 +-
 .../migration/EntityDataMigrationIT.java        |   3 +
 .../migration/EntityTypeMappingMigrationIT.java |   3 +
 .../migration/GraphShardVersionMigrationIT.java |   3 +
 .../migration/MigrationTestRule.java            |   5 +-
 .../cassandra/EntityManagerFactoryImplIT.java   |   2 +-
 .../query/AbstractIteratingQueryIT.java         |   2 +-
 .../system/UsergridSystemMonitorIT.java         |   2 +-
 .../usergrid/utils/ImmediateCounterRule.java    |  33 ++----
 stack/pom.xml                                   |  14 +--
 .../usergrid/rest/ConcurrentRestITSuite.java    |   2 +-
 .../org/apache/usergrid/rest/RestITSuite.java   |   2 +-
 .../apache/usergrid/management/EmailFlowIT.java |   3 +-
 .../usergrid/management/OrganizationIT.java     |   2 +-
 .../org/apache/usergrid/management/RoleIT.java  |   2 +-
 .../cassandra/ApplicationCreatorIT.java         |   2 +-
 .../management/cassandra/ExportServiceIT.java   |   2 +-
 .../cassandra/ManagementServiceIT.java          |   2 +-
 .../security/providers/FacebookProviderIT.java  |   2 +-
 .../providers/PingIdentityProviderIT.java       |   2 +-
 .../security/tokens/TokenServiceIT.java         |   5 +-
 .../usergrid/services/AbstractServiceIT.java    |   2 +-
 .../usergrid/services/ServiceRequestIT.java     |   2 +-
 stack/test-utils/pom.xml                        |  39 ++++---
 .../usergrid/cassandra/CassandraResource.java   |  85 ++-------------
 .../cassandra/CassandraResourceITSuite.java     |   2 +-
 .../cassandra/CassandraResourceTest.java        |  10 +-
 30 files changed, 86 insertions(+), 257 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/pom.xml
----------------------------------------------------------------------
diff --git a/stack/core/pom.xml b/stack/core/pom.xml
index e5cdae5..71d2522 100644
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@ -24,15 +24,6 @@
     <version>2.0.0-SNAPSHOT</version>
   </parent>
 
-  <properties>
-    <!-- Up to 30x parallelism can be used -->
-    <core.it.forkCount>3</core.it.forkCount>
-    <core.it.reuseForks>false</core.it.reuseForks>
-    <core.it.parallel>suites</core.it.parallel>
-    <core.it.threadCount>2</core.it.threadCount>
-    <core.it.suite.concurrency>1</core.it.suite.concurrency>
-  </properties>
-
   <artifactId>usergrid-core</artifactId>
   <name>Usergrid Core</name>
   <description>Core services for Usergrid system.</description>
@@ -47,90 +38,6 @@
     </plugins>
   </reporting>
 
-  <profiles>
-    <profile>
-      <id>default</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-
-            <configuration>
-              <systemPropertyVariables>
-                <storage-config>${basedir}/src/test/conf</storage-config>
-                <target.directory>${project.build.directory}</target.directory>
-                <suite.concurrency>${core.it.suite.concurrency}</suite.concurrency>
-              </systemPropertyVariables>
-
-              <parallel>${core.it.parallel}</parallel>
-              <forkCount>${core.it.forkCount}</forkCount>
-              <threadCount>${core.it.forkCount}</threadCount>
-              <reuseForks>${core.it.reuseForks}</reuseForks>
-              <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}
-              </argLine>
-
-              <includes>
-                <include>**/ConcurrentCore*Suite.java</include>
-                <include>**/SchedulerTestSuite.java</include>
-                <include>**/SchedulerRuntime*IT.java</include>
-                <include>**/*IT.java</include>
-                <include>**/*Test.java</include>
-              </includes>
-              
-              <excludes>
-                <exclude>**/Core*Suite.java</exclude>
-                <exclude>**/ConcurrentSchedulerITSuite.java</exclude>
-                <exclude>**/ConcurrentSchedulerTestSuite.java</exclude>
-                <exclude>**/AppArgsTest.java</exclude>
-                <exclude>**/UsergridJobFactoryTest.java</exclude>
-                <exclude>**/BulkJobExecutionUnitTest.java</exclude>
-
-                <!-- Need to exclude Suite tests to prevent double execution -->
-
-                <!-- <exclude>**/HectorLockManagerIT.java</exclude> -->
-                <exclude>**/UsergridSystemMonitorIT.java</exclude>
-                <exclude>**/CollectionIT.java</exclude>
-                <exclude>**/CounterIT.java</exclude>
-                <exclude>**/EntityConnectionsIT.java</exclude>
-                <exclude>**/EntityDictionaryIT.java</exclude>
-                <exclude>**/EntityManagerIT.java</exclude>
-                <exclude>**/GeoIT.java</exclude>
-                <exclude>**/IndexIT.java</exclude>
-                <exclude>**/MessagesIT.java</exclude>
-                <exclude>**/PermissionsIT.java</exclude>
-                <exclude>**/PathQueryIT.java</exclude>
-                <exclude>**/EntityManagerFactoryImplIT.java</exclude>
-
-                <exclude>**/ZookeeperLockManagerTest.java</exclude>
-                <exclude>**/QueuePathsTest.java</exclude>
-                <exclude>**/QueryProcessorTest.java</exclude>
-                <exclude>**/SimpleIndexBucketLocatorImplTest.java</exclude>
-                <exclude>**/EntityTest.java</exclude>
-                <exclude>**/QueryTest.java</exclude>
-                <exclude>**/QueryUtilsTest.java</exclude>
-                <exclude>**/SchemaTest.java</exclude>
-                <exclude>**/UtilsTest.java</exclude>
-                <exclude>**/IntersectionIteratorTest.java</exclude>
-                <exclude>**/SubtractionIteratorTest.java</exclude>
-                <exclude>**/UnionIteratorTest.java</exclude>
-                <exclude>**/GrammarTreeTest.java</exclude>
-                <exclude>**/LongLiteralTest.java</exclude>
-                <exclude>**/StringLiteralTest.java</exclude>
-
-                <!-- excludes all the iterator query integration tests -->
-                <exclude>**/org/apache/usergrid/persistence/query/*IT.java</exclude>
-              </excludes>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-  </profiles>
 
   <build>
 
@@ -147,7 +54,6 @@
                 </includes>
             </resource>
         </resources>
-
     <testResources>
       <testResource>
         <directory>src/test/resources</directory>
@@ -177,18 +83,18 @@
             <storage-config>${basedir}/src/test/conf</storage-config>
             <target.directory>${project.build.directory}</target.directory>
           </systemPropertyVariables>
-          <parallel>classes</parallel>
-          <forkCount>${core.it.forkCount}</forkCount>
-          <reuseForks>${core.it.reuseForks}</reuseForks>
+          <parallel>methods</parallel>
+          <forkCount>${usergrid.it.forkCount}</forkCount>
+          <threadCount>${usergrid.it.threads}</threadCount>
+          <reuseForks>true</reuseForks>
           <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
-
           <includes>
             <include>**/*IT.java</include>
             <include>**/*Test.java</include>
           </includes>
 
         </configuration>
-        <version>2.15</version>
+        <version>2.18</version>
       </plugin>
 
       <plugin>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/AbstractCoreIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/AbstractCoreIT.java b/stack/core/src/test/java/org/apache/usergrid/AbstractCoreIT.java
index da80714..3d41b75 100644
--- a/stack/core/src/test/java/org/apache/usergrid/AbstractCoreIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/AbstractCoreIT.java
@@ -32,7 +32,7 @@ public abstract class AbstractCoreIT {
     private static final Logger LOG = LoggerFactory.getLogger( AbstractCoreIT.class );
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/batch/ConcurrentSchedulerITSuite.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/batch/ConcurrentSchedulerITSuite.java b/stack/core/src/test/java/org/apache/usergrid/batch/ConcurrentSchedulerITSuite.java
index 7da9509..154ddd2 100644
--- a/stack/core/src/test/java/org/apache/usergrid/batch/ConcurrentSchedulerITSuite.java
+++ b/stack/core/src/test/java/org/apache/usergrid/batch/ConcurrentSchedulerITSuite.java
@@ -43,5 +43,5 @@ import org.apache.usergrid.cassandra.ConcurrentSuite;
 @Concurrent()
 public class ConcurrentSchedulerITSuite {
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/batch/job/AbstractSchedulerRuntimeIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/batch/job/AbstractSchedulerRuntimeIT.java b/stack/core/src/test/java/org/apache/usergrid/batch/job/AbstractSchedulerRuntimeIT.java
index 1d87b73..89f8517 100644
--- a/stack/core/src/test/java/org/apache/usergrid/batch/job/AbstractSchedulerRuntimeIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/batch/job/AbstractSchedulerRuntimeIT.java
@@ -46,7 +46,7 @@ public class AbstractSchedulerRuntimeIT {
 
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
 
     @ClassRule

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityDataMigrationIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityDataMigrationIT.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityDataMigrationIT.java
index af8bbed..c1d1fb7 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityDataMigrationIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityDataMigrationIT.java
@@ -59,7 +59,10 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import org.junit.Ignore;
 
+import net.jcip.annotations.NotThreadSafe;
 
+
+@NotThreadSafe
 public class EntityDataMigrationIT extends AbstractCoreIT {
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityTypeMappingMigrationIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityTypeMappingMigrationIT.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityTypeMappingMigrationIT.java
index 266fb17..4bd048b 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityTypeMappingMigrationIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/EntityTypeMappingMigrationIT.java
@@ -51,7 +51,10 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import org.junit.Ignore;
 
+import net.jcip.annotations.NotThreadSafe;
 
+
+@NotThreadSafe
 public class EntityTypeMappingMigrationIT extends AbstractCoreIT {
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/GraphShardVersionMigrationIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/GraphShardVersionMigrationIT.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/GraphShardVersionMigrationIT.java
index 3ab9f63..3083536 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/GraphShardVersionMigrationIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/GraphShardVersionMigrationIT.java
@@ -47,6 +47,8 @@ import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
 import com.google.inject.Injector;
 
+import net.jcip.annotations.NotThreadSafe;
+
 import rx.functions.Action1;
 
 import static org.junit.Assert.assertEquals;
@@ -54,6 +56,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 
+@NotThreadSafe
 public class GraphShardVersionMigrationIT extends AbstractCoreIT {
 
     private Injector injector;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationTestRule.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationTestRule.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationTestRule.java
index 13d06ee..116d67f 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationTestRule.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/migration/MigrationTestRule.java
@@ -20,6 +20,7 @@
 package org.apache.usergrid.corepersistence.migration;
 
 
+import org.junit.rules.ExternalResource;
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
@@ -41,7 +42,7 @@ import com.google.inject.Injector;
  * <ol> <li>Sets up the system's version to be the DataMigration impl's version -1</li> <li>Creates an application using
  * that version of the schema.</li> <li>Sets the new org and app in the CoreApplication to the app created</li> </ol>
  */
-public class MigrationTestRule implements TestRule {
+public class MigrationTestRule extends ExternalResource {
 
     protected final CoreApplication core;
     protected final DataMigrationManager dataMigrationManager;
@@ -89,8 +90,6 @@ public class MigrationTestRule implements TestRule {
             public void evaluate() throws Throwable {
                 try {
                     resetAndCreateApp( description.getClassName(), description.getMethodName() );
-
-
                     base.evaluate();
                 }finally {
                     resetVersion();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImplIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImplIT.java b/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImplIT.java
index 4edd121..2c85823 100644
--- a/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImplIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImplIT.java
@@ -62,7 +62,7 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/persistence/query/AbstractIteratingQueryIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/query/AbstractIteratingQueryIT.java b/stack/core/src/test/java/org/apache/usergrid/persistence/query/AbstractIteratingQueryIT.java
index ff47846..9a1503e 100644
--- a/stack/core/src/test/java/org/apache/usergrid/persistence/query/AbstractIteratingQueryIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/persistence/query/AbstractIteratingQueryIT.java
@@ -51,7 +51,7 @@ public abstract class AbstractIteratingQueryIT {
 
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/system/UsergridSystemMonitorIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/system/UsergridSystemMonitorIT.java b/stack/core/src/test/java/org/apache/usergrid/system/UsergridSystemMonitorIT.java
index a9f9e18..6692eb2 100644
--- a/stack/core/src/test/java/org/apache/usergrid/system/UsergridSystemMonitorIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/system/UsergridSystemMonitorIT.java
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertTrue;
 public class UsergridSystemMonitorIT {
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     private UsergridSystemMonitor usergridSystemMonitor;
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/core/src/test/java/org/apache/usergrid/utils/ImmediateCounterRule.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/utils/ImmediateCounterRule.java b/stack/core/src/test/java/org/apache/usergrid/utils/ImmediateCounterRule.java
index c4812b2..575ff2a 100644
--- a/stack/core/src/test/java/org/apache/usergrid/utils/ImmediateCounterRule.java
+++ b/stack/core/src/test/java/org/apache/usergrid/utils/ImmediateCounterRule.java
@@ -20,6 +20,7 @@
 package org.apache.usergrid.utils;
 
 
+import org.junit.rules.ExternalResource;
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
@@ -31,7 +32,7 @@ import org.apache.usergrid.count.SimpleBatcher;
 /**
  * Rule  that sets the batch counters to flush immediately, then returns the state to it's expected state afterwards
  */
-public class ImmediateCounterRule implements TestRule {
+public class ImmediateCounterRule extends ExternalResource {
 
     private final SimpleBatcher batcher;
 
@@ -42,33 +43,17 @@ public class ImmediateCounterRule implements TestRule {
 
 
     @Override
-    public Statement apply( final Statement base, final Description description ) {
-        return new Statement() {
-                    @Override
-                    public void evaluate() throws Throwable {
-                        setFlush();
-
-                        try {
-                            base.evaluate();
-                        }
-                        finally {
-                           clearFlush();
-                        }
-                    }
-                };
-    }
-
-
-    public void setFlush() {
-
-
+    protected void before() throws Throwable {
         batcher.setBlockingSubmit( true );
         batcher.setBatchSize( 1 );
+        super.before();
     }
 
 
-    public void clearFlush() {
-        batcher.setBlockingSubmit( true );
-        batcher.setBatchSize( 1 );
+    @Override
+    protected void after() {
+        batcher.setBlockingSubmit( false );
+        batcher.setBatchSize( 10000 );
+        super.after();
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index e02a08e..ddcc146 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -85,7 +85,7 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
     <!-- you can override these via MAVEN_OPTS -->
-    <ug.heapmax>2048m</ug.heapmax>
+    <ug.heapmax>4096m</ug.heapmax>
     <ug.heapmin>2048m</ug.heapmin>
 	<ug.argline>-Djava.awt.headless=true</ug.argline>
 
@@ -105,7 +105,7 @@
     <jackson-2-version>2.3.3</jackson-2-version>
     <jclouds.version>1.6.2-incubating</jclouds.version>
     <jersey-version>1.18.1</jersey-version>
-    <junit-version>4.11</junit-version>
+    <junit-version>4.12</junit-version>
     <log4j-version>1.2.16</log4j-version>
     <metrics-version>2.1.2</metrics-version>
     <org.springframework.version>3.1.2.RELEASE</org.springframework.version>
@@ -117,9 +117,9 @@
     <tika.version>1.4</tika.version>
     <mockito.version>1.10.8</mockito.version>
 
-    <usergrid.it.forkCount>3</usergrid.it.forkCount>
-    <usergrid.it.reuseForks>false</usergrid.it.reuseForks>
-    <usergrid.it.parallel>suites</usergrid.it.parallel>
+    <!-- only use half the cores on the machine for testing -->
+    <usergrid.it.forkCount>.5C</usergrid.it.forkCount>
+    <usergrid.it.threads>4</usergrid.it.threads>
 
     <metrics.version>3.0.0</metrics.version>
     <rx.version>0.19.6</rx.version>
@@ -1682,13 +1682,13 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-report-plugin</artifactId>
-          <version>2.7</version>
+          <version>2.18</version>
         </plugin>
 
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.7</version>
+          <version>2.18</version>
           <configuration>
               <parallel>${usergrid.it.parallel}</parallel>
               <forkCount>${usergrid.it.forkCount}</forkCount>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/rest/src/test/java/org/apache/usergrid/rest/ConcurrentRestITSuite.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/ConcurrentRestITSuite.java b/stack/rest/src/test/java/org/apache/usergrid/rest/ConcurrentRestITSuite.java
index 1c1c073..d1978b1 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/ConcurrentRestITSuite.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/ConcurrentRestITSuite.java
@@ -63,5 +63,5 @@ import org.apache.usergrid.rest.management.organizations.AdminEmailEncodingIT;
 public class ConcurrentRestITSuite {
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/rest/src/test/java/org/apache/usergrid/rest/RestITSuite.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/RestITSuite.java b/stack/rest/src/test/java/org/apache/usergrid/rest/RestITSuite.java
index 3c737a6..5ba7067 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/RestITSuite.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/RestITSuite.java
@@ -60,5 +60,5 @@ public class RestITSuite {
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
index f831448..3a0bf56 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
@@ -51,7 +51,6 @@ import org.apache.usergrid.persistence.entities.User;
 import org.apache.usergrid.persistence.index.impl.ElasticSearchResource;
 
 import static org.apache.commons.lang.StringUtils.isNotBlank;
-import static org.apache.usergrid.TestHelper.newUUIDString;
 import static org.apache.usergrid.TestHelper.uniqueApp;
 import static org.apache.usergrid.TestHelper.uniqueEmail;
 import static org.apache.usergrid.TestHelper.uniqueOrg;
@@ -94,7 +93,7 @@ public class EmailFlowIT {
     private static final Logger LOG = LoggerFactory.getLogger( EmailFlowIT.class );
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts( );
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/management/OrganizationIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/OrganizationIT.java b/stack/services/src/test/java/org/apache/usergrid/management/OrganizationIT.java
index 47718f0..9f31b09 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/OrganizationIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/OrganizationIT.java
@@ -53,7 +53,7 @@ public class OrganizationIT {
     public ClearShiroSubject clearShiroSubject = new ClearShiroSubject();
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/management/RoleIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/RoleIT.java b/stack/services/src/test/java/org/apache/usergrid/management/RoleIT.java
index b88ab24..24865de 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/RoleIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/RoleIT.java
@@ -48,7 +48,7 @@ public class RoleIT {
     private static final Logger LOG = LoggerFactory.getLogger( RoleIT.class );
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ApplicationCreatorIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ApplicationCreatorIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ApplicationCreatorIT.java
index 0fbeb7d..6a3c752 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ApplicationCreatorIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ApplicationCreatorIT.java
@@ -45,7 +45,7 @@ import static org.junit.Assert.assertTrue;
 @Concurrent()
 public class ApplicationCreatorIT {
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index 53de224..b19a0b3 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -87,7 +87,7 @@ public class ExportServiceIT {
     private static final Logger LOG = LoggerFactory.getLogger( ExportServiceIT.class );
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index 6957097..ee04944 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -74,7 +74,7 @@ public class ManagementServiceIT {
 
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
 
     @ClassRule

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/security/providers/FacebookProviderIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/security/providers/FacebookProviderIT.java b/stack/services/src/test/java/org/apache/usergrid/security/providers/FacebookProviderIT.java
index 90309bd..c0a7bb5 100644
--- a/stack/services/src/test/java/org/apache/usergrid/security/providers/FacebookProviderIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/security/providers/FacebookProviderIT.java
@@ -53,7 +53,7 @@ public class FacebookProviderIT {
     private static UUID applicationId;
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/security/providers/PingIdentityProviderIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/security/providers/PingIdentityProviderIT.java b/stack/services/src/test/java/org/apache/usergrid/security/providers/PingIdentityProviderIT.java
index 9fd9821..ee39fb8 100644
--- a/stack/services/src/test/java/org/apache/usergrid/security/providers/PingIdentityProviderIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/security/providers/PingIdentityProviderIT.java
@@ -50,7 +50,7 @@ public class PingIdentityProviderIT {
     private static UUID applicationId;
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
index 67bc035..80c9c1e 100644
--- a/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
@@ -21,7 +21,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
@@ -35,8 +34,6 @@ import org.apache.usergrid.cassandra.CassandraResource;
 import org.apache.usergrid.cassandra.ClearShiroSubject;
 import org.apache.usergrid.cassandra.Concurrent;
 import org.apache.usergrid.management.ApplicationInfo;
-import org.apache.usergrid.management.OrganizationInfo;
-import org.apache.usergrid.management.OrganizationOwnerInfo;
 import org.apache.usergrid.management.UserInfo;
 import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.entities.Application;
@@ -66,7 +63,7 @@ public class TokenServiceIT {
     public ClearShiroSubject clearShiroSubject = new ClearShiroSubject();
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/services/AbstractServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/AbstractServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/AbstractServiceIT.java
index 50262e9..8773daf 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/AbstractServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/AbstractServiceIT.java
@@ -35,7 +35,7 @@ public abstract class AbstractServiceIT {
     public ClearShiroSubject clearShiroSubject = new ClearShiroSubject();
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts( );
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/services/src/test/java/org/apache/usergrid/services/ServiceRequestIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/ServiceRequestIT.java b/stack/services/src/test/java/org/apache/usergrid/services/ServiceRequestIT.java
index 5ff7c61..a947028 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/ServiceRequestIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/ServiceRequestIT.java
@@ -46,7 +46,7 @@ public class ServiceRequestIT {
     private static final Logger logger = LoggerFactory.getLogger( ServiceRequestIT.class );
 
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 
     @ClassRule
     public static ElasticSearchResource elasticSearchResource = new ElasticSearchResource();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/test-utils/pom.xml
----------------------------------------------------------------------
diff --git a/stack/test-utils/pom.xml b/stack/test-utils/pom.xml
index 96685f7..c872653 100644
--- a/stack/test-utils/pom.xml
+++ b/stack/test-utils/pom.xml
@@ -41,28 +41,39 @@
             </testResource>
         </testResources>
 
+
+
+
         <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
+          <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-surefire-plugin</artifactId>
+                 <configuration>
+                   <systemPropertyVariables>
+                     <storage-config>${basedir}/src/test/conf</storage-config>
+                     <target.directory>${project.build.directory}</target.directory>
+                   </systemPropertyVariables>
+                   <parallel>classes</parallel>
+                   <forkCount>${usergrid.it.forkCount}</forkCount>
+                   <threadCount>${usergrid.it.threads}</threadCount>
+                   <threadCountClasses></threadCountClasses>
+                   <reuseForks>true</reuseForks>
+                   <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
 
-                <configuration>
-                    <systemPropertyVariables>
-                        <storage-config>${basedir}/src/test/conf</storage-config>
-                        <target-directory>${project.build.directory}</target-directory>
-                    </systemPropertyVariables>
-                    <argLine>-Xmx${ug.heapmax} -Xms${ug.heapmin} -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -javaagent:${settings.localRepository}/com/github/stephenc/jamm/0.2.5/jamm-0.2.5.jar ${ug.argline}</argLine>
 
                     <includes>
-                        <include>**/CassandraResourceITSuite.java</include>
-                        <!-- <include>**/CassandraResourceTest.java</include>-->
+                       <include>**/CassandraResourceITSuite.java</include>
+                       <!-- <include>**/CassandraResourceTest.java</include>-->
                     </includes>
                     <excludes>
                         <exclude>**/CassandraRunnerTest.java</exclude>
-                        <exclude>**/OtherRunnerTest.java</exclude>
+                       <exclude>**/OtherRunnerTest.java</exclude>
                     </excludes>
-                </configuration>
-            </plugin>
+                  </configuration>
+                  <version>2.18</version>
+               </plugin>
+
+
         </plugins>
     </build>
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
----------------------------------------------------------------------
diff --git a/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java b/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
index 3f99e91..beeecb7 100644
--- a/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
+++ b/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
@@ -30,17 +30,8 @@ import org.apache.commons.lang.ArrayUtils;
 
 
 /**
- * A JUnit {@link org.junit.rules.ExternalResource} designed to start up Cassandra once in a TestSuite or test Class as
- * a shared external resource across test cases and shut it down after the TestSuite has completed. <p/> This external
- * resource is completely isolated in terms of the files used and the ports selected if the {@link AvailablePortFinder}
- * is used with it. <p/> Note that for this resource to work properly, a project.properties file must be placed in the
- * src/test/resources directory with the following stanza in the project pom's build section: <p/> <testResources>
- * <testResource> <directory>src/test/resources</directory> <filtering>true</filtering> <includes>
- * <include>**\/*.properties</include> <include>**\/*.xml</include> </includes> </testResource> </testResources> <p/>
- * The following property expansion macro should be placed in this project.properties file: <p/>
- * target.directory=${pom.build.directory}
+ * A JUnit {@link org.junit.rules.ExternalResource} designed to set our system properties then start spring so it connects to cassandra correctly
  *
- * TODO this class does 2 things.  It loads spring and starts cassandra.  We should separate these concerns.
  */
 public class CassandraResource extends ExternalResource {
     public static final Logger LOG = LoggerFactory.getLogger( CassandraResource.class );
@@ -110,29 +101,6 @@ public class CassandraResource extends ExternalResource {
     }
 
 
-    /**
-     * Gets the storagePort for Cassandra.
-     *
-     * @return the storage_port (in yaml file) used by Cassandra
-     */
-    public int getStoragePort() {
-        return storagePort;
-    }
-
-
-    /**
-     * Gets the sslStoragePort for Cassandra.
-     *
-     * @return the sslStoragePort
-     */
-    public int getSslStoragePort() {
-        return sslStoragePort;
-    }
-
-
-    public int getNativeTransportPort() {
-        return nativeTransportPort;
-    }
 
 
     /**
@@ -212,67 +180,26 @@ public class CassandraResource extends ExternalResource {
                 return;
             }
 
-            startCassandraExternal();
+            startSpring();
         }
     }
 
 
-    private void startCassandraExternal() throws Throwable {
+    private void startSpring() throws Throwable {
         LOG.info( "-------------------------------------------------------------------" );
         LOG.info( "Initializing External Cassandra" );
         LOG.info( "-------------------------------------------------------------------" );
         LOG.info( "before() test, setting system properties for ports : "
                         + "[rpc, storage, sslStorage, native] = [{}, {}, {}, {}]",
                 new Object[] { rpcPort, storagePort, sslStoragePort, nativeTransportPort } );
-        Thread.sleep( 5000 );
         String[] locations = { "usergrid-test-context.xml" };
         applicationContext = new ClassPathXmlApplicationContext( locations );
         applicationContext.refresh();
-        loadSchemaManager();
         initialized = true;
         lock.notifyAll();
     }
 
 
-    /** Stops Cassandra after a TestSuite or test Class executes. */
-    @Override
-    protected synchronized void after() {
-        super.after();
-        //We don't want to actually remove our schema.  Since our tests are multi threaded, the resource may still be
-        // in use
-        //
-        //        shutdown = new Thread() {
-        //            @Override
-        //            public void run() {
-        //                try {
-        //                    Thread.currentThread();
-        //                    Thread.sleep( 100L );
-        //                }
-        //                catch ( InterruptedException ignored ) {
-        //                }
-        //
-        //
-        //                if ( schemaManager != null ) {
-        //                    LOG.info( "Destroying schemaManager..." );
-        //                    try {
-        //                        schemaManager.destroy();
-        //                    }
-        //                    catch ( Exception e ) {
-        //                        LOG.error( "Ignoring failures while dropping keyspaces: {}", e.getMessage() );
-        //                    }
-        //
-        //                    LOG.info( "SchemaManager destroyed..." );
-        //                }
-        //
-        //                applicationContext.stop();
-        //                LOG.info( "ApplicationContext stopped..." );
-        //            }
-        //        };
-        //
-        //        shutdown.start();
-    }
-
-
     /**
      * Loads the specified {@link SchemaManager} or the default manager if the manager name that is provided is null.
      *
@@ -293,7 +220,7 @@ public class CassandraResource extends ExternalResource {
     }
 
 
-    public static CassandraResource newWithMavenAllocatedPorts() {
+    public static CassandraResource setAllocatedPorts() {
         synchronized ( lock ) {
 
             //don't keep re-initializing if it's already done
@@ -353,8 +280,8 @@ public class CassandraResource extends ExternalResource {
      *
      * @return a new CassandraResource with possibly non-default ports
      */
-    public static CassandraResource newWithAvailablePorts() {
-        return newWithMavenAllocatedPorts();
+    public static CassandraResource setPortsAndStartSpring() {
+        return setAllocatedPorts();
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceITSuite.java
----------------------------------------------------------------------
diff --git a/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceITSuite.java b/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceITSuite.java
index 72aada7..5bc256b 100644
--- a/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceITSuite.java
+++ b/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceITSuite.java
@@ -37,5 +37,5 @@ import org.junit.runners.Suite;
 @Concurrent()
 public class CassandraResourceITSuite {
     @ClassRule
-    public static CassandraResource cassandraResource = CassandraResource.newWithAvailablePorts();
+    public static CassandraResource cassandraResource = CassandraResource.setPortsAndStartSpring();
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/61a81d57/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceTest.java
----------------------------------------------------------------------
diff --git a/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceTest.java b/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceTest.java
index bbecfbc..beefd46 100644
--- a/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceTest.java
+++ b/stack/test-utils/src/test/java/org/apache/usergrid/cassandra/CassandraResourceTest.java
@@ -17,8 +17,6 @@
 package org.apache.usergrid.cassandra;
 
 
-import java.io.File;
-
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -75,7 +73,6 @@ public class CassandraResourceTest {
         // test here to see if we can access cassandra's ports
         // TODO - add some test code here using Hector
 
-        cassandraResource.after();
         LOG.info( "Got the test bean: " );
     }
 
@@ -90,7 +87,7 @@ public class CassandraResourceTest {
      */
     @Test
     public void testDoubleTrouble() throws Throwable {
-        CassandraResource c1 = CassandraResource.newWithAvailablePorts();
+        CassandraResource c1 = CassandraResource.setPortsAndStartSpring();
         LOG.info( "Starting up first Cassandra instance: {}", c1 );
         c1.before();
 
@@ -99,7 +96,7 @@ public class CassandraResourceTest {
             Thread.sleep( WAIT );
         }
 
-        CassandraResource c2 = CassandraResource.newWithAvailablePorts();
+        CassandraResource c2 = CassandraResource.setPortsAndStartSpring();
         LOG.debug( "Starting up second Cassandra instance: {}", c2 );
         c2.before();
 
@@ -109,7 +106,6 @@ public class CassandraResourceTest {
         }
 
         LOG.debug( "Shutting Cassandra instances down." );
-        c1.after();
-        c2.after();
+
     }
 }