Fixes to tests and test properties.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/996bf09f Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/996bf09f Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/996bf09f Branch: refs/heads/release-2.1.1 Commit: 996bf09fbc33bba3c27a26143880ceb100a38936 Parents: db6950b Author: Dave Johnson <[email protected]> Authored: Thu Jul 7 12:09:43 2016 -0400 Committer: Dave Johnson <[email protected]> Committed: Thu Jul 7 12:09:43 2016 -0400 ---------------------------------------------------------------------- .../src/test/resources/usergrid-test.properties | 15 ++ .../corepersistence/index/IndexServiceTest.java | 70 ++++--- .../collection/EntityCollectionManagerIT.java | 45 +++-- .../mvcc/stage/delete/MarkCommitTest.java | 3 +- .../mvcc/stage/write/WriteUniqueVerifyIT.java | 2 +- .../UniqueValuesServiceDeleteTest.java | 185 +++++++++++++++++++ .../src/test/resources/usergrid.properties | 3 + .../org/apache/usergrid/rest/UniqueCatsIT.java | 2 +- .../rest/applications/ApplicationDeleteIT.java | 2 +- 9 files changed, 282 insertions(+), 45 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/config/src/test/resources/usergrid-test.properties ---------------------------------------------------------------------- diff --git a/stack/config/src/test/resources/usergrid-test.properties b/stack/config/src/test/resources/usergrid-test.properties index 29bb332..368c585 100644 --- a/stack/config/src/test/resources/usergrid-test.properties +++ b/stack/config/src/test/resources/usergrid-test.properties @@ -83,6 +83,21 @@ usergrid.version.properties=1.0.0 # build number for display usergrid.version.build=0.1 + +# --- Start: Usergrid cluster/actor system settings + +usergrid.cluster.enabled=true +usergrid.cluster.hostname=localhost +usergrid.cluster.region.local=us-east +usergrid.cluster.region.list=us-east +usergrid.cluster.seeds=us-east\:localhost + +collection.uniquevalues.actors=300 +collection.uniquevalues.authoritative.region=us-east + +# --- End: Usergrid cluster/actor system settings + + usergrid.counter.batch.interval=10 #usergrid.auth.token_secret_salt=super secret token value #usergrid.auth.token_expires_from_last_use=false http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java ---------------------------------------------------------------------- diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java index dab14ed..fba6e7c 100644 --- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java +++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java @@ -20,62 +20,54 @@ package org.apache.usergrid.corepersistence.index; -import java.util.List; -import java.util.Set; -import java.util.UUID; - -import org.apache.usergrid.persistence.graph.MarkedEdge; -import org.apache.usergrid.persistence.index.impl.IndexProducer; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - +import com.google.inject.Inject; +import net.jcip.annotations.NotThreadSafe; import org.apache.usergrid.corepersistence.TestIndexModule; import org.apache.usergrid.corepersistence.util.CpNamingUtils; +import org.apache.usergrid.persistence.actorsystem.ActorSystemManager; import org.apache.usergrid.persistence.collection.EntityCollectionManager; import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory; +import org.apache.usergrid.persistence.collection.uniquevalues.UniqueValueActor; +import org.apache.usergrid.persistence.collection.uniquevalues.UniqueValuesService; import org.apache.usergrid.persistence.core.scope.ApplicationScope; import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl; import org.apache.usergrid.persistence.core.test.UseModules; import org.apache.usergrid.persistence.graph.Edge; import org.apache.usergrid.persistence.graph.GraphManager; import org.apache.usergrid.persistence.graph.GraphManagerFactory; -import org.apache.usergrid.persistence.index.EntityIndex; -import org.apache.usergrid.persistence.index.CandidateResults; -import org.apache.usergrid.persistence.index.EntityIndexFactory; -import org.apache.usergrid.persistence.index.IndexFig; -import org.apache.usergrid.persistence.index.SearchEdge; -import org.apache.usergrid.persistence.index.SearchTypes; +import org.apache.usergrid.persistence.graph.MarkedEdge; +import org.apache.usergrid.persistence.index.*; import org.apache.usergrid.persistence.index.impl.EsRunner; -import org.apache.usergrid.persistence.index.impl.IndexOperationMessage; import org.apache.usergrid.persistence.index.impl.IndexOperation; +import org.apache.usergrid.persistence.index.impl.IndexOperationMessage; +import org.apache.usergrid.persistence.index.impl.IndexProducer; import org.apache.usergrid.persistence.model.entity.Entity; import org.apache.usergrid.persistence.model.entity.Id; import org.apache.usergrid.persistence.model.entity.SimpleId; import org.apache.usergrid.persistence.model.field.StringField; import org.apache.usergrid.persistence.model.util.UUIDGenerator; - -import com.google.inject.Inject; - +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; import rx.Observable; import rx.schedulers.Schedulers; +import java.util.*; + import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createCollectionEdge; import static org.apache.usergrid.corepersistence.util.CpNamingUtils.getApplicationScope; import static org.apache.usergrid.persistence.core.util.IdGenerator.createId; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; @RunWith( EsRunner.class ) @UseModules( { TestIndexModule.class } ) +@NotThreadSafe//anything that changes the system version state is not safe to be run concurrently public class IndexServiceTest { @Inject public IndexService indexService; - @Inject public GraphManagerFactory graphManagerFactory; @@ -98,12 +90,39 @@ public class IndexServiceTest { public ApplicationScope applicationScope; + @Inject + ActorSystemManager actorSystemManager; + + @Inject + UniqueValuesService uniqueValuesService; + + + private static Map<Integer, Boolean> startedAkka = new HashMap<>(); + + + protected synchronized void initAkka( + int port, ActorSystemManager actorSystemManager, UniqueValuesService uniqueValuesService ) { + + if ( startedAkka.get(port) == null ) { + + actorSystemManager.registerRouterProducer( uniqueValuesService ); + actorSystemManager.registerMessageType( UniqueValueActor.Request.class, "/user/uvProxy" ); + actorSystemManager.registerMessageType( UniqueValueActor.Reservation.class, "/user/uvProxy" ); + actorSystemManager.registerMessageType( UniqueValueActor.Cancellation.class, "/user/uvProxy" ); + actorSystemManager.registerMessageType( UniqueValueActor.Confirmation.class, "/user/uvProxy" ); + actorSystemManager.start( "localhost", port, "us-east" ); + actorSystemManager.waitForClientActor(); + + startedAkka.put( port, true ); + } + } + @Before public void setup() { applicationScope = getApplicationScope( UUIDGenerator.newTimeUUID() ); - graphManager = graphManagerFactory.createEdgeManager( applicationScope ); + initAkka( 2555, actorSystemManager, uniqueValuesService ); } @@ -140,7 +159,6 @@ public class IndexServiceTest { @Test( ) public void testSingleCollectionConnection() throws InterruptedException { - ApplicationScope applicationScope = new ApplicationScopeImpl( new SimpleId( UUID.randomUUID(), "application" ) ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/EntityCollectionManagerIT.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/EntityCollectionManagerIT.java b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/EntityCollectionManagerIT.java index ceda1a8..dfff51c 100644 --- a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/EntityCollectionManagerIT.java +++ b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/EntityCollectionManagerIT.java @@ -49,6 +49,8 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import rx.Observable; import java.util.ArrayList; @@ -63,6 +65,7 @@ import static org.junit.Assert.*; @RunWith( ITRunner.class ) @UseModules( TestCollectionModule.class ) public class EntityCollectionManagerIT extends AbstractUniqueValueTest { + private static final Logger logger = LoggerFactory.getLogger( EntityCollectionManagerIT.class ); @Inject private EntityCollectionManagerFactory factory; @@ -137,7 +140,7 @@ public class EntityCollectionManagerIT extends AbstractUniqueValueTest { } catch ( Exception ex ) { WriteUniqueVerifyException e = ( WriteUniqueVerifyException ) ex; - assertEquals( 1, e.getVioliations().size() ); + assertEquals( 1, e.getViolations().size() ); } } } @@ -319,66 +322,78 @@ public class EntityCollectionManagerIT extends AbstractUniqueValueTest { @Test public void writeAndGetField2X() throws InterruptedException { - ApplicationScope collectionScope1 = new ApplicationScopeImpl( new SimpleId( "organization" ) ); + // create entity with unique testField + ApplicationScope collectionScope1 = new ApplicationScopeImpl( new SimpleId( "organization" ) ); final Id entityId = new SimpleId( "test" ); Entity firstInstance = new Entity( entityId ); Field firstField = new StringField( "testField", "unique", true ); firstInstance.setField( firstField ); EntityCollectionManager manager = factory.createCollectionManager( collectionScope1 ); - Observable<Entity> observable = manager.write( firstInstance, null ); - Entity createReturned = observable.toBlocking().lastOrDefault( null ); - assertNotNull( "Id was assigned", createReturned.getId() ); assertNotNull( "Version was assigned", createReturned.getVersion() ); + // get entity via that unique field, should get correct entity + final Id existingId = manager.getIdField( firstInstance.getId().getType(), firstField ) .toBlocking().lastOrDefault( null ); assertNotNull( existingId ); assertEquals( firstInstance.getId(), existingId ); + // get entity via bogus unique field that does not exist, should get null + Field fieldNull = new StringField( "testFieldNotThere", "uniquely", true ); final Id noId = manager.getIdField( firstInstance.getId().getType(), fieldNull ) .toBlocking().lastOrDefault( null ); assertNull( noId ); + // ensure we clean up - //ensure we clean up + // set a different unique field to the entity we created above + // this should effectively remove the original unique testField that we created above Entity secondInstance = new Entity( entityId ); Field secondField = new StringField( firstField.getName(), "unique2", true ); secondInstance.setField( secondField ); Observable<Entity> observableSecond = manager.write( secondInstance, null ); - Entity createReturnedSecond = observableSecond.toBlocking().lastOrDefault( null ); - assertNotNull( "Id was assigned", createReturnedSecond.getId() ); assertNotNull( "Version was assigned", createReturnedSecond.getVersion() ); assertNotEquals( "Versions should not be equal", createReturned.getVersion(), createReturnedSecond.getVersion() ); - //sanity check, get the entity to ensure it's the right version + // sanity check, get the entity to ensure it's the right version final Entity loadedVersion = manager.load( entityId ).toBlocking().last(); assertEquals(entityId, loadedVersion.getId()); assertEquals(createReturnedSecond.getVersion(), loadedVersion.getVersion()); - //give clean time to run. need to finish the todo below - Thread.sleep( 2000 ); + // give clean time to run. need to finish the todo below - //TODO, we need to implement verify and repair on this - final Id idFirst = manager.getIdField( firstInstance.getId().getType(), firstField ) - .toBlocking().lastOrDefault( null ); - assertNull(idFirst); + Id idFirst = null; + int retries = 0; + while ( retries++ < 20 ) { + + //TODO, we need to implement verify and repair on this + idFirst = manager.getIdField( firstInstance.getId().getType(), firstField ) + .toBlocking().lastOrDefault( null ); + if ( idFirst == null ) { + break; + } + + logger.error("Clean no run yet, waiting ({})", retries); + Thread.sleep( 2000 ); + } + assertNull(idFirst); final Id idSecond = manager.getIdField( secondInstance.getId().getType(), secondField ) .toBlocking().lastOrDefault( null ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommitTest.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommitTest.java b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommitTest.java index a0ee6be..89169ac 100644 --- a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommitTest.java +++ b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommitTest.java @@ -120,7 +120,8 @@ public class MarkCommitTest extends AbstractMvccEntityStageTest { .thenReturn( entityMutation ); - new MarkCommit( logStrategy, mvccEntityStrategy, uniqueValueSerializationStrategy, serializationFig, keyspace ).call( event ); + new MarkCommit( logStrategy, mvccEntityStrategy, uniqueValueSerializationStrategy, serializationFig, + null, null, null, keyspace ).call( event ); //TODO: This doesn't assert anything, this needs fixed (should be a fail technically) } http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerifyIT.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerifyIT.java b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerifyIT.java index c70cd1a..401d23e 100644 --- a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerifyIT.java +++ b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerifyIT.java @@ -123,7 +123,7 @@ public class WriteUniqueVerifyIT extends AbstractUniqueValueTest { } catch ( Exception ex ) { WriteUniqueVerifyException e = (WriteUniqueVerifyException)ex; - assertTrue( !e.getVioliations().isEmpty() ); + assertTrue( !e.getViolations().isEmpty() ); } // ensure we can update original entity without error http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceDeleteTest.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceDeleteTest.java b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceDeleteTest.java new file mode 100644 index 0000000..3f58834 --- /dev/null +++ b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/uniquevalues/UniqueValuesServiceDeleteTest.java @@ -0,0 +1,185 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.usergrid.persistence.collection.uniquevalues; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multimaps; +import com.google.inject.Inject; +import org.apache.usergrid.persistence.actorsystem.ActorSystemFig; +import org.apache.usergrid.persistence.actorsystem.ActorSystemManager; +import org.apache.usergrid.persistence.collection.AbstractUniqueValueTest; +import org.apache.usergrid.persistence.collection.EntityCollectionManager; +import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory; +import org.apache.usergrid.persistence.collection.exception.WriteUniqueVerifyException; +import org.apache.usergrid.persistence.collection.guice.TestCollectionModule; +import org.apache.usergrid.persistence.core.guice.MigrationManagerRule; +import org.apache.usergrid.persistence.core.scope.ApplicationScope; +import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl; +import org.apache.usergrid.persistence.core.test.ITRunner; +import org.apache.usergrid.persistence.core.test.UseModules; +import org.apache.usergrid.persistence.model.entity.Entity; +import org.apache.usergrid.persistence.model.entity.SimpleId; +import org.apache.usergrid.persistence.model.field.StringField; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import rx.Observable; + +import java.util.Collection; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + + +/** + * Test the unique values service. + */ +@RunWith( ITRunner.class ) +@UseModules( TestCollectionModule.class ) +public class UniqueValuesServiceDeleteTest extends AbstractUniqueValueTest { + private static final Logger logger = LoggerFactory.getLogger( UniqueValuesServiceDeleteTest.class ); + + @Inject + private EntityCollectionManagerFactory factory; + + @Inject + @Rule + public MigrationManagerRule migrationManagerRule; + + @Inject + ActorSystemFig actorSystemFig; + + @Inject + ActorSystemManager actorSystemManager; + + @Inject + UniqueValuesService uniqueValuesService; + + + int numThreads = 6; + int poolSize = 5; + int numUsers = 100; + + + @Before + public void initAkka() { + // each test class needs unique port number + initAkka( 2555, actorSystemManager, uniqueValuesService ); + } + + + /** + * Use multiple threads to attempt to create entities with duplicate usernames. + */ + @Test + public void testDuplicatePrevention() throws Exception { + + initAkka(); + + final AtomicInteger successCounter = new AtomicInteger( 0 ); + final AtomicInteger errorCounter = new AtomicInteger( 0 ); + + Multimap<String, Entity> usersCreated = + generateDuplicateUsers( numUsers, successCounter, errorCounter ); + + int userCount = 0; + int usernamesWithDuplicates = 0; + for ( String username : usersCreated.keySet() ) { + Collection<Entity> users = usersCreated.get( username ); + if ( users.size() > 1 ) { + usernamesWithDuplicates++; + } + userCount++; + } + + Assert.assertEquals( 0, usernamesWithDuplicates ); + + Assert.assertEquals( numUsers, successCounter.get() ); + Assert.assertEquals( 0, errorCounter.get() ); + Assert.assertEquals( numUsers, usersCreated.size() ); + Assert.assertEquals( numUsers, userCount ); + } + + + private Multimap<String, Entity> generateDuplicateUsers( + int numUsers, AtomicInteger successCounter, AtomicInteger errorCounter ) { + + ApplicationScope context = new ApplicationScopeImpl( new SimpleId( "organization" ) ); + + EntityCollectionManager manager = factory.createCollectionManager( context ); + + Multimap<String, Entity> usersCreated = + Multimaps.synchronizedListMultimap( ArrayListMultimap.create() ); + + ExecutorService execService = Executors.newFixedThreadPool( poolSize ); + + for (int i = 0; i < numUsers; i++) { + + // multiple threads simultaneously trying to create a user with the same propertyName + for (int j = 0; j < numThreads; j++) { + String username = "user_" + i; + + execService.submit( () -> { + + try { + + // give entity two unqiue fields username and email + Entity newEntity = new Entity( new SimpleId( "user" ) ); + newEntity.setField( new StringField( "username", username, true ) ); + newEntity.setField( new StringField( "email", username + "@example.org", true ) ); + + Observable<Entity> observable = manager.write( newEntity, null ); + Entity returned = observable.toBlocking().lastOrDefault( null ); + + usersCreated.put( username, newEntity ); + successCounter.incrementAndGet(); + + logger.debug("Created user {}", username); + + } catch ( Throwable t ) { + if ( t instanceof WriteUniqueVerifyException) { + // we expect lots of these + } else { + errorCounter.incrementAndGet(); + logger.error( "Error creating user " + username, t ); + } + } + + } ); + } + } + execService.shutdown(); + + try { + while (!execService.awaitTermination( 60, TimeUnit.SECONDS )) { + System.out.println( "Waiting..." ); + } + } catch (InterruptedException e) { + e.printStackTrace(); + } + + return usersCreated; + } +} http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/corepersistence/collection/src/test/resources/usergrid.properties ---------------------------------------------------------------------- diff --git a/stack/corepersistence/collection/src/test/resources/usergrid.properties b/stack/corepersistence/collection/src/test/resources/usergrid.properties index ebc2ad4..8d615d0 100644 --- a/stack/corepersistence/collection/src/test/resources/usergrid.properties +++ b/stack/corepersistence/collection/src/test/resources/usergrid.properties @@ -20,6 +20,7 @@ # This property is required to be set and cannot be defaulted anywhere usergrid.cluster_name=usergrid +# --- Start: Usergrid cluster/actor system settings usergrid.cluster.enabled=true usergrid.cluster.hostname=localhost @@ -29,3 +30,5 @@ usergrid.cluster.seeds=us-east\:localhost collection.uniquevalues.actors=300 collection.uniquevalues.authoritative.region=us-east + +# --- End: Usergrid cluster/actor system settings http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/rest/src/test/java/org/apache/usergrid/rest/UniqueCatsIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/UniqueCatsIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/UniqueCatsIT.java index 0120660..c0209af 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/UniqueCatsIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/UniqueCatsIT.java @@ -49,7 +49,7 @@ import static com.codahale.metrics.MetricRegistry.name; /** - * Tests that Catgrid will not allow creation of entities with duplicate names. + * Tests that Usergrid will not allow creation of entities with duplicate names. * * Intended for use against a production-like cluster, not run during normal JUnit testing. * http://git-wip-us.apache.org/repos/asf/usergrid/blob/996bf09f/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java index cc635ed..c1301bb 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java @@ -77,7 +77,7 @@ public class ApplicationDeleteIT extends AbstractRestIT { ApiResponse appCreateAgainResponse = null; int retries = 0; - while ( retries++ < 100 ) { + while ( retries++ < 30 ) { try { appCreateAgainResponse = clientSetup.getRestClient() .management().orgs().org( orgName ).app().getTarget()
