You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2015/03/04 18:25:10 UTC

[01/14] incubator-usergrid git commit: 432: modify cores and add before shiro condition

Repository: incubator-usergrid
Updated Branches:
  refs/heads/two-dot-o ebf6e1322 -> 39c732b6a


432: modify cores and add before shiro condition

432: working with multithreaded builds

432: fix deleteasync


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

Branch: refs/heads/two-dot-o
Commit: 497ac057432227f9cb5642383df5cd8ea5c53b55
Parents: 80cd97e
Author: Shawn Feldman <sf...@apache.org>
Authored: Fri Feb 27 10:59:52 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Fri Feb 27 13:07:45 2015 -0700

----------------------------------------------------------------------
 .../corepersistence/CpEntityManager.java         |  7 +++++--
 .../corepersistence/CpEntityManagerFactory.java  | 18 +++++++++++-------
 .../usergrid/corepersistence/CpWalker.java       |  6 ++++--
 stack/pom.xml                                    | 18 +++++++++---------
 .../usergrid/cassandra/ClearShiroSubject.java    | 19 ++++++++-----------
 5 files changed, 37 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/497ac057/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index 8f432a2..bc227d8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -565,6 +565,9 @@ public class CpEntityManager implements EntityManager {
 
     private Observable deleteAsync( EntityRef entityRef ) throws Exception {
 
+        if(applicationScope == null || entityRef == null){
+            return Observable.empty();
+        }
         CollectionScope collectionScope = getCollectionScopeNameFromEntityType(
                 applicationScope.getApplication(), entityRef.getType()  );
 
@@ -2750,7 +2753,7 @@ public class CpEntityManager implements EntityManager {
         CpWalker walker = new CpWalker( );
 
         walker.walkCollections(
-            this, application, collectionName, reverse, new CpVisitor() {
+            this, getApplication(), collectionName, reverse, new CpVisitor() {
 
             @Override
             public void visitCollectionEntry( EntityManager em, String collName, Entity entity ) {
@@ -2779,7 +2782,7 @@ public class CpEntityManager implements EntityManager {
 
         CpWalker walker = new CpWalker( );
 
-        walker.walkCollections( this, application, null, false, new CpVisitor() {
+        walker.walkCollections( this, getApplication(), null, false, new CpVisitor() {
 
             @Override
             public void visitCollectionEntry( EntityManager em, String collName, Entity entity ) {

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/497ac057/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
index 3c63bd6..8272d7d 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
@@ -317,12 +317,12 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
         Query q = Query.fromQL(String.format("select * where applicationUuid = '%s'", applicationId.toString()));
         Results results = em.searchCollection( em.getApplicationRef(), "appinfos", q);
         Entity appToDelete = results.getEntity();
-        em.delete( appToDelete );
-
-        // create new Entity in deleted_appinfos collection, with same UUID and properties as deleted appinfo
-        em.create( "deleted_appinfo", appToDelete.getProperties() );
-
-        em.refreshIndex();
+        if(appToDelete != null) {
+            em.delete(appToDelete);
+            // create new Entity in deleted_appinfos collection, with same UUID and properties as deleted appinfo
+            em.create("deleted_appinfo", appToDelete.getProperties());
+            em.refreshIndex();
+        }
 
         // delete the application's index
         EntityIndex ei = managerCache.getEntityIndex(new ApplicationScopeImpl(
@@ -767,7 +767,11 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
 
         em.reindex( po );
 
-        logger.info("\n\nRebuilt index for application {} id {}\n", app.getName(), appId );
+        if(app!=null) {
+            logger.info("\n\nRebuilt index for application {} id {}\n", app.getName(), appId);
+        }else{
+            logger.info("\n\nDid not rebuild index for application id {}\n",  appId);
+        }
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/497ac057/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
index fab7e16..928b210 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
@@ -58,8 +58,10 @@ public class CpWalker {
     public void walkCollections(final CpEntityManager em, final EntityRef start,
         String collectionName, boolean reverse, final CpVisitor visitor) throws Exception {
 
-        doWalkCollections(
-            em, collectionName, reverse, new SimpleId( start.getUuid(), start.getType() ), visitor );
+        if(start != null) {
+            doWalkCollections(
+                em, collectionName, reverse, new SimpleId(start.getUuid(), start.getType()), visitor);
+        }
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/497ac057/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 167ef14..513d3bb 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -122,8 +122,8 @@
       <!-- only use half the cores on the machine for testing -->
       <usergrid.it.parallel>methods</usergrid.it.parallel>
       <usergrid.it.reuseForks>true</usergrid.it.reuseForks>
-      <usergrid.it.forkCount>1</usergrid.it.forkCount>
-      <usergrid.it.threads>2</usergrid.it.threads>
+      <usergrid.it.forkCount>4</usergrid.it.forkCount>
+      <usergrid.it.threads>8</usergrid.it.threads>
 
       <metrics.version>3.0.0</metrics.version>
       <rx.version>0.19.6</rx.version>
@@ -1510,13 +1510,13 @@
                       <!-- TODO, we may need an exclusion.  Appears to be a classloader bug
                       http://stackoverflow.com/questions/27225140/intermittent-noclassdeffounderror-when-running-a-maven-surefire-build-in-jenkins
                       -->
-                      <!--<dependencies>-->
-                          <!--<dependency>-->
-                              <!--<groupId>org.apache.maven.surefire</groupId>-->
-                              <!--<artifactId>surefire-junit47</artifactId>-->
-                              <!--<version>${surefire.plugin.version}</version>-->
-                          <!--</dependency>-->
-                      <!--</dependencies>-->
+                      <dependencies>
+                          <dependency>
+                              <groupId>org.apache.maven.surefire</groupId>
+                              <artifactId>surefire-junit47</artifactId>
+                              <version>${surefire.plugin.version}</version>
+                          </dependency>
+                      </dependencies>
                   </plugin>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/497ac057/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/ClearShiroSubject.java
----------------------------------------------------------------------
diff --git a/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/ClearShiroSubject.java b/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/ClearShiroSubject.java
index 50d01c8..4010b04 100644
--- a/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/ClearShiroSubject.java
+++ b/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/ClearShiroSubject.java
@@ -33,20 +33,17 @@ public class ClearShiroSubject extends ExternalResource {
     private static final Logger LOG = LoggerFactory.getLogger( ClearShiroSubject.class );
 
 
+
+    @Override
+    protected void before() throws Throwable {
+        super.before();
+        clear();
+    }
+
     @Override
     protected void after() {
         super.after();
-        Subject subject = SecurityUtils.getSubject();
-
-        if ( subject == null ) {
-
-            LOG.info( "Shiro Subject was null. No need to clear." );
-            return;
-        }
-
-        new SubjectThreadState( subject ).clear();
-
-        LOG.info( "Shiro Subject was NOT null. Subject has been cleared." );
+        clear();
     }
 
     public void clear(){


[07/14] incubator-usergrid git commit: async delete by query

Posted by to...@apache.org.
async delete by query


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

Branch: refs/heads/two-dot-o
Commit: 44c0989422ed0912f3e5ed5643f79910ac1057e6
Parents: 66f4bfb
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Mar 3 09:40:23 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Mar 3 09:40:23 2015 -0700

----------------------------------------------------------------------
 .../corepersistence/CpEntityManager.java        | 21 ++++---
 .../usergrid/corepersistence/CpWalker.java      |  4 +-
 .../corepersistence/StaleIndexCleanupTest.java  | 14 ++---
 .../cassandra/EntityManagerFactoryImplIT.java   | 25 ++++----
 .../usergrid/persistence/index/EntityIndex.java |  6 +-
 .../index/IndexOperationMessage.java            |  7 ++-
 .../index/impl/EsEntityIndexImpl.java           | 65 +++++++++++++++-----
 .../index/impl/EsIndexBufferConsumerImpl.java   | 20 ++++--
 .../persistence/index/impl/EntityIndexTest.java |  2 +-
 stack/pom.xml                                   |  6 ++
 10 files changed, 113 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index bc227d8..6d97605 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -350,7 +350,7 @@ public class CpEntityManager implements EntityManager {
         Id id = new SimpleId( entityRef.getUuid(), entityRef.getType() );
 
         CollectionScope collectionScope = getCollectionScopeNameFromEntityType(
-                applicationScope.getApplication(),  entityRef.getType());
+            getApplicationScope().getApplication(),  entityRef.getType());
 
 
         //        if ( !UUIDUtils.isTimeBased( id.getUuid() ) ) {
@@ -433,7 +433,7 @@ public class CpEntityManager implements EntityManager {
 
 
         CollectionScope collectionScope = getCollectionScopeNameFromEntityType(
-                applicationScope.getApplication(),  type);
+            getApplicationScope().getApplication(),  type);
 
 
         //        if ( !UUIDUtils.isTimeBased( id.getUuid() ) ) {
@@ -491,11 +491,16 @@ public class CpEntityManager implements EntityManager {
 
     @Override
     public void update( Entity entity ) throws Exception {
-
+        if(entity == null)
+            return;
+        Preconditions.checkNotNull("entity should never be null",entity);
+        String type = entity.getType();
+        Preconditions.checkNotNull("entity type should never be null",type);
+        Id appId  = getApplicationScope().getApplication();
+        Preconditions.checkNotNull("app scope should never be null",appId);
         // first, update entity index in its own collection scope
 
-        CollectionScope collectionScope = getCollectionScopeNameFromEntityType(
-                applicationScope.getApplication(),  entity.getType());
+        CollectionScope collectionScope = getCollectionScopeNameFromEntityType(appId, type );
         EntityCollectionManager ecm = managerCache.getEntityCollectionManager( collectionScope );
 
         Id entityId = new SimpleId( entity.getUuid(), entity.getType() );
@@ -569,7 +574,7 @@ public class CpEntityManager implements EntityManager {
             return Observable.empty();
         }
         CollectionScope collectionScope = getCollectionScopeNameFromEntityType(
-                applicationScope.getApplication(), entityRef.getType()  );
+            getApplicationScope().getApplication(), entityRef.getType()  );
 
         EntityCollectionManager ecm = managerCache.getEntityCollectionManager( collectionScope );
 
@@ -2122,7 +2127,7 @@ public class CpEntityManager implements EntityManager {
                                           final Object propertyValue ) {
 
         CollectionScope collectionScope = getCollectionScopeNameFromEntityType(
-                applicationScope.getApplication(), collectionName);
+            getApplicationScope().getApplication(), collectionName);
 
         final EntityCollectionManager ecm = managerCache.getEntityCollectionManager( collectionScope );
 
@@ -2446,7 +2451,7 @@ public class CpEntityManager implements EntityManager {
         org.apache.usergrid.persistence.model.entity.Entity cpEntity = entityToCpEntity( entity, importId );
 
         // prepare to write and index Core Persistence Entity into default scope
-        CollectionScope collectionScope = getCollectionScopeNameFromEntityType(applicationScope.getApplication(), eType);
+        CollectionScope collectionScope = getCollectionScopeNameFromEntityType(getApplicationScope().getApplication(), eType);
 
         EntityCollectionManager ecm = managerCache.getEntityCollectionManager( collectionScope );
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
index 928b210..4b902d8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
@@ -140,7 +140,9 @@ public class CpWalker {
                                 targetNodeEntityRef.getUuid() );
                             return;
                         }
-
+                        if(entity == null){
+                            return;
+                        }
                         String collName = CpNamingUtils.getCollectionName( edge.getType() );
                         visitor.visitCollectionEntry( em, collName, entity );
                     }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
index 831e2ce..703a497 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
@@ -135,6 +135,7 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
     @Ignore("Broken until search connections is fixed")
     public void testStaleIndexCleanup() throws Exception {
 
+
         logger.info( "Started testStaleIndexCleanup()" );
 
         // turn off post processing stuff that cleans up stale entities
@@ -237,7 +238,7 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
 
         // query for total number of result candidates = numEntities
         crs = queryCollectionCp( "things", "thing", "select *" );
-        Assert.assertEquals( "Expect stale candidates de-indexed", numEntities, crs.size() );
+        Assert.assertEquals( "Expect stale candidates de-indexed", numEntities, crs.size() );//20,21
     }
 
 
@@ -345,7 +346,7 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
             things.add( em.create("thing", new HashMap<String, Object>() {{
                 put("name", thingName);
             }}));
-            Thread.sleep( writeDelayMs );
+//            Thread.sleep( writeDelayMs );
         }
         em.refreshIndex();
 
@@ -382,14 +383,11 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
         // wait for indexes to be cleared for the deleted entities
         count = 0;
         do {
-            Thread.sleep(100);
+            if(count>0){Thread.sleep(200);}
             crs = queryCollectionCp("things", "thing", "select *");
-            em.refreshIndex();
-        } while ( crs.size() > 0 && count++ < 15 );
+        } while ( crs.size() == numEntities && count++ < 15 );
 
-        // query Core Persistence directly for total number of result candidates
-        crs = queryCollectionCp("things", "thing", "select *");
-        Assert.assertEquals( "Expect candidates without earlier stale entities", numEntities, crs.size() );
+        Assert.assertEquals("Expect candidates without earlier stale entities", crs.size(),numEntities);
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/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 b4a67e8..0ca6e8b 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
@@ -41,6 +41,9 @@ import org.apache.usergrid.persistence.model.util.UUIDGenerator;
 import org.apache.usergrid.setup.ConcurrentProcessSingleton;
 import rx.functions.Func0;
 import rx.functions.Func1;
+import rx.functions.Func2;
+
+import javax.annotation.concurrent.NotThreadSafe;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -49,7 +52,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-
+@NotThreadSafe
 public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
     private static final Logger logger = LoggerFactory.getLogger( EntityManagerFactoryImplIT.class );
@@ -124,13 +127,13 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
         em.refreshIndex();
 
-        Func1< Map<String, UUID> ,Boolean> findDeletedApps = new Func1<Map<String, UUID> ,Boolean>() {
+        Func2<UUID, Map<String, UUID> ,Boolean> findApps = new Func2<UUID,Map<String, UUID> ,Boolean>() {
             @Override
-            public Boolean call( Map<String, UUID> deletedApps) {
+            public Boolean call(UUID applicationId,  Map<String, UUID> apps) {
                 try {
                     boolean found = false;
-                    for (String appName : deletedApps.keySet()) {
-                        UUID appId = deletedApps.get(appName);
+                    for (String appName : apps.keySet()) {
+                        UUID appId = apps.get(appName);
                         if (appId.equals(applicationId)) {
                             found = true;
                             break;
@@ -144,8 +147,8 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
         };
 
         boolean found = false;
-        for(int i=0;i<5;i++){
-            found = findDeletedApps.call(emf.getDeletedApplications());
+        for(int i=0;i<10;i++){
+            found = findApps.call(applicationId,emf.getDeletedApplications());
             if(found){
                 break;
             } else{
@@ -179,8 +182,8 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
         // test to see that app now works and is happy
 
         // it should not be found in the deleted apps collection
-        for(int i=0;i<5;i++){
-            found = findDeletedApps.call(emf.getDeletedApplications());
+        for(int i=0;i<10;i++){
+            found = findApps.call(applicationId,emf.getDeletedApplications());
             if(!found){
                 break;
             } else{
@@ -189,8 +192,8 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
         }
         assertFalse("Restored app found in deleted apps collection", found);
 
-        for(int i=0;i<5;i++){
-            found = findDeletedApps.call(setup.getEmf().getApplications());
+        for(int i=0;i<10;i++){
+            found = findApps.call(applicationId,setup.getEmf().getApplications());
             if(!found){
                 break;
             } else{

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
index d239641..b888e09 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
@@ -25,8 +25,10 @@ import org.apache.usergrid.persistence.core.util.Health;
 import org.apache.usergrid.persistence.index.query.Query;
 import org.apache.usergrid.persistence.index.query.CandidateResults;
 import org.apache.usergrid.persistence.model.entity.Id;
+import org.elasticsearch.action.ListenableActionFuture;
 
 import java.util.Map;
+import java.util.concurrent.Future;
 
 
 /**
@@ -76,14 +78,14 @@ public interface EntityIndex {
      * effectively removing all versions of an entity from all index scopes
      * @param entityId The entityId to remove
      */
-    public void deleteAllVersionsOfEntity(final Id entityId );
+    public Future deleteAllVersionsOfEntity(final Id entityId );
 
     /**
      * Takes all the previous versions of the current entity and deletes all previous versions
      * @param id The id to remove
      * @param version The max version to retain
      */
-    public void deletePreviousVersions(final Id id, final UUID version);
+    public Future deletePreviousVersions(final Id id, final UUID version);
 
     /**
      * Refresh the index.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexOperationMessage.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexOperationMessage.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexOperationMessage.java
index 501233e..944a71f 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexOperationMessage.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexOperationMessage.java
@@ -17,6 +17,7 @@
 package org.apache.usergrid.persistence.index;
 
 import org.apache.usergrid.persistence.core.future.BetterFuture;
+import org.elasticsearch.action.ActionRequestBuilder;
 import org.elasticsearch.action.support.replication.ShardReplicationOperationRequestBuilder;
 
 import java.util.Iterator;
@@ -27,7 +28,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
  * Container for index operations.
  */
 public  class IndexOperationMessage {
-    private final ConcurrentLinkedQueue<ShardReplicationOperationRequestBuilder> builders;
+    private final ConcurrentLinkedQueue<ActionRequestBuilder> builders;
     private final BetterFuture<IndexOperationMessage> containerFuture;
 
     public IndexOperationMessage(){
@@ -41,7 +42,7 @@ public  class IndexOperationMessage {
         });
     }
 
-    public void addOperation(ShardReplicationOperationRequestBuilder builder){
+    public void addOperation(ActionRequestBuilder builder){
         builders.add(builder);
     }
 
@@ -49,7 +50,7 @@ public  class IndexOperationMessage {
      * return operations for the message
      * @return
      */
-    public ConcurrentLinkedQueue<ShardReplicationOperationRequestBuilder> getOperations(){
+    public ConcurrentLinkedQueue<ActionRequestBuilder> getOperations(){
         return builders;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
index ad638c6..a8b0cc4 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
@@ -19,6 +19,8 @@ package org.apache.usergrid.persistence.index.impl;
 
 
 import com.google.common.collect.ImmutableMap;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import com.google.inject.Inject;
 import com.google.inject.assistedinject.Assisted;
 import org.apache.commons.lang.StringUtils;
@@ -35,6 +37,8 @@ import org.apache.usergrid.persistence.index.query.Query;
 import org.apache.usergrid.persistence.model.entity.Id;
 import org.apache.usergrid.persistence.model.entity.SimpleId;
 import org.apache.usergrid.persistence.model.util.UUIDGenerator;
+import org.elasticsearch.action.ActionListener;
+import org.elasticsearch.action.ListenableActionFuture;
 import org.elasticsearch.action.ShardOperationFailedException;
 import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
 import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
@@ -444,7 +448,8 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
                 try {
                     String[] indexes = ArrayUtils.addAll(
                         getIndexes(AliasType.Read),
-                        getIndexes(AliasType.Write) );
+                        getIndexes(AliasType.Write)
+                    );
 
                     if ( indexes.length == 0 ) {
                         logger.debug( "Not refreshing indexes, none found for app {}",
@@ -510,26 +515,38 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
 
 
     @Override
-    public void deleteAllVersionsOfEntity( Id entityId ) {
+    public ListenableActionFuture deleteAllVersionsOfEntity(final Id entityId ) {
 
         String idString = IndexingUtils.idString(entityId).toLowerCase();
 
         final TermQueryBuilder tqb = QueryBuilders.termQuery( ENTITYID_ID_FIELDNAME, idString );
 
-        final DeleteByQueryResponse response = esProvider.getClient()
-            .prepareDeleteByQuery( alias.getWriteAlias() ).setQuery( tqb ).execute().actionGet();
+        final ListenableActionFuture<DeleteByQueryResponse> response = esProvider.getClient()
+            .prepareDeleteByQuery( alias.getWriteAlias() ).setQuery( tqb ).execute();
 
+        response.addListener(new ActionListener<DeleteByQueryResponse>() {
+            @Override
+            public void onResponse(DeleteByQueryResponse response) {
+                logger.debug( "Deleted entity {}:{} from all index scopes with response status = {}",
+                    entityId.getType(), entityId.getUuid(), response.status().toString());
+
+                checkDeleteByQueryResponse( tqb, response );
+            }
 
-        logger.debug( "Deleted entity {}:{} from all index scopes with response status = {}",
-            entityId.getType(), entityId.getUuid(), response.status().toString());
+            @Override
+            public void onFailure(Throwable e) {
+                logger.error("Deleted entity {}:{} from all index scopes with error {}",
+                    entityId.getType(), entityId.getUuid(), e);
 
-       checkDeleteByQueryResponse( tqb, response );
 
+            }
+        });
+        return response;
     }
 
 
     @Override
-    public void deletePreviousVersions( final Id entityId, final UUID version ) {
+    public ListenableActionFuture deletePreviousVersions( final Id entityId, final UUID version ) {
 
         String idString = IndexingUtils.idString( entityId ).toLowerCase();
 
@@ -538,15 +555,28 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
                 FilterBuilders.rangeFilter(ENTITY_VERSION_FIELDNAME).lt(version.timestamp())
         );
 
-        final DeleteByQueryResponse response = esProvider.getClient()
-            .prepareDeleteByQuery( alias.getWriteAlias() ).setQuery( fqb ).execute().actionGet();
+        final ListenableActionFuture<DeleteByQueryResponse> response = esProvider.getClient()
+            .prepareDeleteByQuery(alias.getWriteAlias()).setQuery(fqb).execute();
 
-        //error message needs to be retooled so that it describes the entity more throughly
-        logger.debug( "Deleted entity {}:{} with version {} from all "
-                + "index scopes with response status = {}",
-            entityId.getType(), entityId.getUuid(), version,  response.status().toString()  );
+        response.addListener(new ActionListener<DeleteByQueryResponse>() {
+            @Override
+            public void onResponse(DeleteByQueryResponse response) {
+                //error message needs to be retooled so that it describes the entity more throughly
+                logger.debug( "Deleted entity {}:{} with version {} from all "
+                        + "index scopes with response status = {}",
+                    entityId.getType(), entityId.getUuid(), version,  response.status().toString()  );
+
+                checkDeleteByQueryResponse( fqb, response );
+            }
+
+            @Override
+            public void onFailure(Throwable e) {
+                logger.error("Deleted entity {}:{} from all index scopes with error {}",
+                    entityId.getType(), entityId.getUuid(), e);
+            }
+        });
 
-        checkDeleteByQueryResponse( fqb, response );
+        return response;
     }
 
 
@@ -560,13 +590,14 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
             final ShardOperationFailedException[] failures = indexDeleteByQueryResponse.getFailures();
 
             for ( ShardOperationFailedException failedException : failures ) {
-                throw new IndexException( String.format("Unable to delete by query %s. "
+                logger.error( String.format("Unable to delete by query %s. "
                         + "Failed with code %d and reason %s on shard %s in index %s",
                     query.toString(),
                     failedException.status().getStatus(),
                     failedException.reason(),
                     failedException.shardId(),
-                    failedException.index() ) );
+                    failedException.index() )
+                );
             }
 
         }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
index 09c7097..fbb7a40 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
@@ -28,11 +28,13 @@ import org.apache.usergrid.persistence.index.IndexBufferConsumer;
 import org.apache.usergrid.persistence.index.IndexBufferProducer;
 import org.apache.usergrid.persistence.index.IndexFig;
 import org.apache.usergrid.persistence.index.IndexOperationMessage;
+import org.elasticsearch.action.ActionRequestBuilder;
 import org.elasticsearch.action.WriteConsistencyLevel;
 import org.elasticsearch.action.bulk.BulkItemResponse;
 import org.elasticsearch.action.bulk.BulkRequestBuilder;
 import org.elasticsearch.action.bulk.BulkResponse;
 import org.elasticsearch.action.delete.DeleteRequestBuilder;
+import org.elasticsearch.action.deletebyquery.DeleteByQueryRequestBuilder;
 import org.elasticsearch.action.index.IndexRequestBuilder;
 import org.elasticsearch.action.support.replication.ShardReplicationOperationRequestBuilder;
 import org.elasticsearch.client.Client;
@@ -94,24 +96,26 @@ public class EsIndexBufferConsumerImpl implements IndexBufferConsumer {
         }
 
         //process and flatten all the messages to builder requests
-        Observable<ShardReplicationOperationRequestBuilder> flattenMessages = Observable.from(operationMessages)
+        Observable<ActionRequestBuilder> flattenMessages = Observable.from(operationMessages)
             .subscribeOn(Schedulers.io())
-            .flatMap(new Func1<IndexOperationMessage, Observable<ShardReplicationOperationRequestBuilder>>() {
+            .flatMap(new Func1<IndexOperationMessage, Observable<ActionRequestBuilder>>() {
                 @Override
-                public Observable<ShardReplicationOperationRequestBuilder> call(IndexOperationMessage operationMessage) {
+                public Observable<ActionRequestBuilder> call(IndexOperationMessage operationMessage) {
                     return Observable.from(operationMessage.getOperations());
                 }
             });
 
+
+
         //batch shard operations into a bulk request
         flattenMessages
             .buffer(config.getIndexBatchSize())
-            .doOnNext(new Action1<List<ShardReplicationOperationRequestBuilder>>() {
+            .doOnNext(new Action1<List<ActionRequestBuilder>>() {
                 @Override
-                public void call(List<ShardReplicationOperationRequestBuilder> builders) {
+                public void call(List<ActionRequestBuilder> builders) {
                     try {
                         final BulkRequestBuilder bulkRequest = initRequest();
-                        for (ShardReplicationOperationRequestBuilder builder : builders) {
+                        for (ActionRequestBuilder builder : builders) {
                             indexSizeCounter.dec();
                             if (builder instanceof IndexRequestBuilder) {
                                 bulkRequest.add((IndexRequestBuilder) builder);
@@ -119,6 +123,10 @@ public class EsIndexBufferConsumerImpl implements IndexBufferConsumer {
                             if (builder instanceof DeleteRequestBuilder) {
                                 bulkRequest.add((DeleteRequestBuilder) builder);
                             }
+                            if(builder instanceof DeleteByQueryRequestBuilder){
+                                DeleteByQueryRequestBuilder deleteByQueryRequestBuilder = (DeleteByQueryRequestBuilder) builder;
+                                deleteByQueryRequestBuilder.get();
+                            }
                         }
                         sendRequest(bulkRequest);
                     }catch (Exception e){

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
index 83ba1ec..7bfbb52 100644
--- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
+++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
@@ -182,7 +182,7 @@ public class EntityIndexTest extends BaseIT {
     }
 
     @Test
-    public void testDeleteByQueryWithAlias() throws IOException {
+    public void testDeleteWithAlias() throws IOException {
         Id appId = new SimpleId( "application" );
 
         ApplicationScope applicationScope = new ApplicationScopeImpl( appId );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/44c09894/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 513d3bb..53755b3 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1515,6 +1515,12 @@
                               <groupId>org.apache.maven.surefire</groupId>
                               <artifactId>surefire-junit47</artifactId>
                               <version>${surefire.plugin.version}</version>
+                              <exclusions>
+                                  <exclusion>
+                                      <groupId>org.apache.maven.surfire</groupId>
+                                      <artifactId>common-junit3</artifactId>
+                                  </exclusion>
+                              </exclusions>
                           </dependency>
                       </dependencies>
                   </plugin>


[02/14] incubator-usergrid git commit: adding application creation protection

Posted by to...@apache.org.
adding application creation protection


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

Branch: refs/heads/two-dot-o
Commit: 0f9e8c9f478f497fef54b3aa6612133b511c8922
Parents: 497ac05
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Mar 2 08:22:49 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Mar 2 08:22:49 2015 -0700

----------------------------------------------------------------------
 .../test/java/org/apache/usergrid/rest/AbstractRestIT.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/0f9e8c9f/stack/rest/src/test/java/org/apache/usergrid/rest/AbstractRestIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/AbstractRestIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/AbstractRestIT.java
index 5f4a534..1b3ee65 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/AbstractRestIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/AbstractRestIT.java
@@ -33,6 +33,7 @@ import org.apache.usergrid.management.ApplicationInfo;
 import org.apache.usergrid.management.OrganizationInfo;
 import org.apache.usergrid.management.OrganizationOwnerInfo;
 
+import org.apache.usergrid.persistence.exceptions.ApplicationAlreadyExistsException;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.slf4j.Logger;
@@ -146,7 +147,12 @@ public abstract class AbstractRestIT extends JerseyTest {
             orgInfo = orgOwnerInfo.getOrganization();
         }
 
-        appInfo = setup.getMgmtSvc().createApplication(orgInfo.getUuid(), "app-" + rand);
+        String appname =  "app-" + rand;
+        try {
+            appInfo = setup.getMgmtSvc().createApplication(orgInfo.getUuid(),appname);
+        }catch(ApplicationAlreadyExistsException e){
+            LOG.error("Failed to create application"+appname+", maybe this is ok", e);
+        }
         refreshIndex( orgInfo.getName(), appInfo.getName() );
 
         orgAppPath = appInfo.getName() + "/";


[06/14] incubator-usergrid git commit: change queue listener bootstrap

Posted by to...@apache.org.
change queue listener bootstrap


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

Branch: refs/heads/two-dot-o
Commit: 66f4bfb92f07f5eb066c175e94ffae4c39865998
Parents: 4d6bee0
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Mar 2 12:42:26 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Mar 2 12:42:26 2015 -0700

----------------------------------------------------------------------
 .../cassandra/EntityManagerFactoryImplIT.java   | 25 ++++++++++----------
 .../usergrid/rest/JobServiceBoostrap.java       | 12 ++++++++++
 .../services/notifications/QueueListener.java   |  9 +------
 .../resources/usergrid-services-context.xml     |  3 +--
 4 files changed, 26 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/66f4bfb9/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 3f42356..b4a67e8 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
@@ -40,6 +40,7 @@ import org.apache.usergrid.persistence.cassandra.util.TraceTagReporter;
 import org.apache.usergrid.persistence.model.util.UUIDGenerator;
 import org.apache.usergrid.setup.ConcurrentProcessSingleton;
 import rx.functions.Func0;
+import rx.functions.Func1;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -123,12 +124,11 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
         em.refreshIndex();
 
-        Func0<Boolean> func0 = new Func0<Boolean>() {
+        Func1< Map<String, UUID> ,Boolean> findDeletedApps = new Func1<Map<String, UUID> ,Boolean>() {
             @Override
-            public Boolean call() {
+            public Boolean call( Map<String, UUID> deletedApps) {
                 try {
                     boolean found = false;
-                    Map<String, UUID> deletedApps = emf.getDeletedApplications();
                     for (String appName : deletedApps.keySet()) {
                         UUID appId = deletedApps.get(appName);
                         if (appId.equals(applicationId)) {
@@ -145,11 +145,11 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
         boolean found = false;
         for(int i=0;i<5;i++){
-            found = func0.call();
+            found = findDeletedApps.call(emf.getDeletedApplications());
             if(found){
                 break;
             } else{
-              Thread.sleep(100);
+              Thread.sleep(500);
             }
         }
         assertTrue("Deleted app not found in deleted apps collection", found );
@@ -180,22 +180,21 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
         // it should not be found in the deleted apps collection
         for(int i=0;i<5;i++){
-            found = func0.call();
+            found = findDeletedApps.call(emf.getDeletedApplications());
             if(!found){
                 break;
             } else{
-                Thread.sleep(100);
+                Thread.sleep(500);
             }
         }
         assertFalse("Restored app found in deleted apps collection", found);
 
-        found = false;
-        appMap = setup.getEmf().getApplications();
-        for ( String appName : appMap.keySet() ) {
-            UUID appId = appMap.get( appName );
-            if ( appId.equals( applicationId )) {
-                found = true;
+        for(int i=0;i<5;i++){
+            found = findDeletedApps.call(setup.getEmf().getApplications());
+            if(!found){
                 break;
+            } else{
+                Thread.sleep(500);
             }
         }
         assertTrue("Restored app not found in apps collection", found);

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/66f4bfb9/stack/rest/src/main/java/org/apache/usergrid/rest/JobServiceBoostrap.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/JobServiceBoostrap.java b/stack/rest/src/main/java/org/apache/usergrid/rest/JobServiceBoostrap.java
index a921f22..ed45c91 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/JobServiceBoostrap.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/JobServiceBoostrap.java
@@ -18,6 +18,7 @@ package org.apache.usergrid.rest;
 
 import org.apache.usergrid.batch.service.JobSchedulerService;
 import org.apache.usergrid.persistence.EntityManager;
+import org.apache.usergrid.services.notifications.QueueListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +45,9 @@ public class JobServiceBoostrap implements
     @Autowired
     private Properties properties;
 
+    @Autowired
+    private QueueListener notificationsQueueListener;
+
     public JobServiceBoostrap() {
     }
 
@@ -65,6 +69,14 @@ public class JobServiceBoostrap implements
         } else {
             logger.info( "Scheduler Service disabled" );
         }
+
+        boolean shouldRun = new Boolean(properties.getProperty("usergrid.notifications.listener.run","true"));
+        if(shouldRun){
+            notificationsQueueListener.start();
+        }else{
+            logger.info("QueueListener: never started due to config value usergrid.notifications.listener.run.");
+        }
+
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/66f4bfb9/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
index df27d2b..d34cc22 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
@@ -99,10 +99,7 @@ public class QueueListener  {
             int threadCount = 0;
 
             try {
-                boolean shouldRun = new Boolean(properties.getProperty("usergrid.notifications.listener.run","true"));
-                if(!shouldRun){
-                    return;
-                }
+
                 sleepBetweenRuns = new Long(properties.getProperty("usergrid.notifications.listener.sleep.between", ""+sleepBetweenRuns)).longValue();
                 sleepWhenNoneFound = new Long(properties.getProperty("usergrid.notifications.listener.sleep.after", ""+DEFAULT_SLEEP)).longValue();
                 batchSize = new Integer(properties.getProperty("usergrid.notifications.listener.batchSize", (""+batchSize)));
@@ -135,10 +132,6 @@ public class QueueListener  {
                 LOG.error("QueueListener: failed to start:", e);
             }
             LOG.info("QueueListener: done starting.");
-//        }else{
-//            LOG.info("QueueListener: never started due to config value usergrid.notifications.listener.run.");
-//        }
-
     }
 
     private void execute(){

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/66f4bfb9/stack/services/src/main/resources/usergrid-services-context.xml
----------------------------------------------------------------------
diff --git a/stack/services/src/main/resources/usergrid-services-context.xml b/stack/services/src/main/resources/usergrid-services-context.xml
index e97481b..666051d 100644
--- a/stack/services/src/main/resources/usergrid-services-context.xml
+++ b/stack/services/src/main/resources/usergrid-services-context.xml
@@ -89,8 +89,7 @@
 
   <bean id="exportJob" class="org.apache.usergrid.management.export.ExportJob" />
 
-  <bean id="notificationsQueueListener" class="org.apache.usergrid.services.notifications.QueueListener"
-        scope="singleton">
+  <bean id="notificationsQueueListener" class="org.apache.usergrid.services.notifications.QueueListener">
     <constructor-arg name="emf" ref="entityManagerFactory" />
     <constructor-arg name="props" ref="properties" />
     <constructor-arg name="smf" ref="serviceManagerFactory" />


[09/14] incubator-usergrid git commit: adding graphite metrics

Posted by to...@apache.org.
adding graphite metrics


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

Branch: refs/heads/two-dot-o
Commit: 2b31015811205695024eb4b249dab35d4732a286
Parents: 5e578d5
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Mar 3 12:13:12 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Mar 3 12:13:12 2015 -0700

----------------------------------------------------------------------
 .../usergrid/corepersistence/StaleIndexCleanupTest.java       | 2 +-
 .../persistence/index/impl/EsIndexBufferConsumerImpl.java     | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2b310158/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
index 703a497..54f0e93 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
@@ -385,7 +385,7 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
         do {
             if(count>0){Thread.sleep(200);}
             crs = queryCollectionCp("things", "thing", "select *");
-        } while ( crs.size() == numEntities && count++ < 15 );
+        } while ( crs.size() == numEntities && count++ < 1000 );
 
         Assert.assertEquals("Expect candidates without earlier stale entities", crs.size(),numEntities);
     }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2b310158/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
index fbb7a40..52d1abb 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexBufferConsumerImpl.java
@@ -20,6 +20,7 @@
 package org.apache.usergrid.persistence.index.impl;
 
 import com.codahale.metrics.Counter;
+import com.codahale.metrics.Meter;
 import com.codahale.metrics.Timer;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -61,10 +62,12 @@ public class EsIndexBufferConsumerImpl implements IndexBufferConsumer {
     private final Observable<List<IndexOperationMessage>> consumer;
     private final Timer flushTimer;
     private final Counter indexSizeCounter;
+    private final Meter flushMeter;
 
     @Inject
     public EsIndexBufferConsumerImpl(final IndexFig config, final IndexBufferProducer producer, final EsProvider provider, final MetricsFactory metricsFactory){
         this.flushTimer = metricsFactory.getTimer(EsIndexBufferConsumerImpl.class, "index.buffer.flush");
+        this.flushMeter = metricsFactory.getMeter(EsIndexBufferConsumerImpl.class, "index.buffer.meter");
         this.indexSizeCounter =  metricsFactory.getCounter(EsIndexBufferConsumerImpl.class, "index.buffer.size");
         this.config = config;
         this.failureMonitor = new FailureMonitorImpl(config,provider);
@@ -77,9 +80,11 @@ public class EsIndexBufferConsumerImpl implements IndexBufferConsumer {
             .doOnNext(new Action1<List<IndexOperationMessage>>() {
                 @Override
                 public void call(List<IndexOperationMessage> containerList) {
-                    flushTimer.time();
                     if (containerList.size() > 0) {
+                        flushMeter.mark(containerList.size());
+                        Timer.Context time = flushTimer.time();
                         execute(containerList);
+                        time.stop();
                     }
                 }
             });


[12/14] incubator-usergrid git commit: add threadsafe back

Posted by to...@apache.org.
add threadsafe back


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

Branch: refs/heads/two-dot-o
Commit: 8233916782f4ecffbb2042135a500c369284d4db
Parents: 16ad2f5
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Mar 3 16:47:40 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Mar 3 16:47:40 2015 -0700

----------------------------------------------------------------------
 .../org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java  | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/82339167/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
index 1c37362..82d8f93 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
@@ -70,6 +70,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test on read style clean-up of stale ElasticSearch indexes.
  */
+@NotThreadSafe
 public class StaleIndexCleanupTest extends AbstractCoreIT {
     private static final Logger logger = LoggerFactory.getLogger( StaleIndexCleanupTest.class );
 


[10/14] incubator-usergrid git commit: tests are passing

Posted by to...@apache.org.
tests are passing


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

Branch: refs/heads/two-dot-o
Commit: b9408de8a604bebe500428eea8871dafd0362d2e
Parents: 2b31015
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Mar 3 16:38:57 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Mar 3 16:38:57 2015 -0700

----------------------------------------------------------------------
 .../corepersistence/CpEntityManagerFactory.java |  1 -
 .../corepersistence/StaleIndexCleanupTest.java  | 30 +++++++++-----------
 .../cassandra/EntityManagerFactoryImplIT.java   |  1 -
 3 files changed, 13 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9408de8/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
index 84fad36..a4e91b5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
@@ -321,7 +321,6 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
             em.delete(appToDelete);
             // create new Entity in deleted_appinfos collection, with same UUID and properties as deleted appinfo
             em.create("deleted_appinfo", appToDelete.getProperties());
-            em.refreshIndex();
         }
 
         // delete the application's index

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9408de8/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
index 54f0e93..82d8f93 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
@@ -336,21 +336,20 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
 
         final EntityManager em = app.getEntityManager();
 
-        final int numEntities = 20;
-        final int numUpdates = 40;
+        final int numEntities = 10;
+        final int numUpdates = 5;
 
         // create lots of entities
-        final List<Entity> things = new ArrayList<Entity>(numEntities);
+        final List<Entity> dogs = new ArrayList<Entity>(numEntities);
         for ( int i=0; i<numEntities; i++) {
-            final String thingName = "thing" + i;
-            things.add( em.create("thing", new HashMap<String, Object>() {{
-                put("name", thingName);
+            final String dogName = "dog" + i;
+            dogs.add( em.create("dog", new HashMap<String, Object>() {{
+                put("name", dogName);
             }}));
-//            Thread.sleep( writeDelayMs );
         }
         em.refreshIndex();
 
-        CandidateResults crs = queryCollectionCp( "things", "thing", "select *");
+        CandidateResults crs = queryCollectionCp( "dogs", "dog", "select *");
         Assert.assertEquals( "Expect no stale candidates yet", numEntities, crs.size() );
 
         // turn off post processing stuff that cleans up stale entities
@@ -360,16 +359,13 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
 
         List<Entity> maxVersions = new ArrayList<>(numEntities);
         int count = 0;
-        for ( Entity thing : things ) {
+        for ( Entity dog : dogs ) {
             Entity toUpdate = null;
 
             for ( int j=0; j<numUpdates; j++) {
-                toUpdate = em.get( thing.getUuid() );
+                toUpdate = em.get( dog.getUuid() );
                 toUpdate.setProperty( "property"  + j, RandomStringUtils.randomAlphanumeric(10));
-
                 em.update(toUpdate);
-
-                Thread.sleep( writeDelayMs );
                 count++;
                 if ( count % 100 == 0 ) {
                     logger.info("Updated {} of {} times", count, numEntities * numUpdates);
@@ -383,11 +379,11 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
         // wait for indexes to be cleared for the deleted entities
         count = 0;
         do {
-            if(count>0){Thread.sleep(200);}
-            crs = queryCollectionCp("things", "thing", "select *");
-        } while ( crs.size() == numEntities && count++ < 1000 );
+            Thread.sleep(100);
+            crs = queryCollectionCp("dogs", "dog", "select *");
+        } while ( crs.size() == numEntities && count++ < 15 );
 
-        Assert.assertEquals("Expect candidates without earlier stale entities", crs.size(),numEntities);
+        Assert.assertEquals("Expect candidates without earlier stale entities", crs.size(), numEntities);
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9408de8/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 0ca6e8b..e5f8709 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
@@ -52,7 +52,6 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-@NotThreadSafe
 public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
     private static final Logger logger = LoggerFactory.getLogger( EntityManagerFactoryImplIT.class );


[13/14] incubator-usergrid git commit: syntax fixes

Posted by to...@apache.org.
syntax fixes


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

Branch: refs/heads/two-dot-o
Commit: ccc884b6e4d29c2f6dcc18308094fcc867674b33
Parents: 8233916
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Mar 4 09:19:54 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Mar 4 09:19:54 2015 -0700

----------------------------------------------------------------------
 .../usergrid/corepersistence/CpEntityManager.java |  8 +++-----
 .../corepersistence/CpEntityManagerFactory.java   | 11 ++++++-----
 .../cassandra/EntityManagerFactoryImplIT.java     | 18 +++++++-----------
 .../persistence/index/impl/EsEntityIndexImpl.java |  2 +-
 .../org/apache/usergrid/rest/IndexResource.java   |  9 +++++----
 .../org/apache/usergrid/rest/IndexResourceIT.java |  1 +
 6 files changed, 23 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ccc884b6/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index 6d97605..5619382 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -491,13 +491,11 @@ public class CpEntityManager implements EntityManager {
 
     @Override
     public void update( Entity entity ) throws Exception {
-        if(entity == null)
-            return;
-        Preconditions.checkNotNull("entity should never be null",entity);
+        Preconditions.checkNotNull(entity,"entity should never be null");
         String type = entity.getType();
-        Preconditions.checkNotNull("entity type should never be null",type);
+        Preconditions.checkNotNull(type,"entity type should never be null");
         Id appId  = getApplicationScope().getApplication();
-        Preconditions.checkNotNull("app scope should never be null",appId);
+        Preconditions.checkNotNull(appId,"app scope should never be null");
         // first, update entity index in its own collection scope
 
         CollectionScope collectionScope = getCollectionScopeNameFromEntityType(appId, type );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ccc884b6/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
index a4e91b5..9aa36a0 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
@@ -315,18 +315,19 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
         // remove old appinfo Entity, which is in the System App's appinfos collection
         EntityManager em = getEntityManager(CpNamingUtils.SYSTEM_APP_ID);
         Query q = Query.fromQL(String.format("select * where applicationUuid = '%s'", applicationId.toString()));
-        Results results = em.searchCollection( em.getApplicationRef(), "appinfos", q);
+        Results results = em.searchCollection(em.getApplicationRef(), "appinfos", q);
+
         Entity appToDelete = results.getEntity();
         if(appToDelete != null) {
-            em.delete(appToDelete);
             // create new Entity in deleted_appinfos collection, with same UUID and properties as deleted appinfo
             em.create("deleted_appinfo", appToDelete.getProperties());
-        }
+            em.delete(appToDelete);
 
+        }
         // delete the application's index
-        EntityIndex ei = managerCache.getEntityIndex(new ApplicationScopeImpl(
-            new SimpleId(applicationId, TYPE_APPLICATION)));
+        EntityIndex ei = managerCache.getEntityIndex(new ApplicationScopeImpl(new SimpleId(applicationId, TYPE_APPLICATION)));
         ei.deleteIndex();
+        em.refreshIndex();
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ccc884b6/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 e5f8709..9392d06 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
@@ -129,19 +129,15 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
         Func2<UUID, Map<String, UUID> ,Boolean> findApps = new Func2<UUID,Map<String, UUID> ,Boolean>() {
             @Override
             public Boolean call(UUID applicationId,  Map<String, UUID> apps) {
-                try {
-                    boolean found = false;
-                    for (String appName : apps.keySet()) {
-                        UUID appId = apps.get(appName);
-                        if (appId.equals(applicationId)) {
-                            found = true;
-                            break;
-                        }
+                boolean found = false;
+                for (String appName : apps.keySet()) {
+                    UUID appId = apps.get(appName);
+                    if (appId.equals(applicationId)) {
+                        found = true;
+                        break;
                     }
-                    return found;
-                }catch (Exception e){
-                    throw new RuntimeException(e);
                 }
+                return found;
             }
         };
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ccc884b6/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
index 1910cdc..49026e2 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
@@ -161,7 +161,7 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
                 Settings settings = ImmutableSettings.settingsBuilder()
                         .put("index.number_of_shards", numberOfShards)
                         .put("index.number_of_replicas", numberOfReplicas)
-                        .put("action.write_consistency", writeConsistency)
+                        .put("action.write_consistency", writeConsistency )
                     .build();
                 final CreateIndexResponse cir = admin.indices().prepareCreate(indexName)
                         .setSettings(settings)

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ccc884b6/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
index f4ebf23..3269ec0 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
@@ -21,10 +21,8 @@
 package org.apache.usergrid.rest;
 
 import com.sun.jersey.api.json.JSONWithPadding;
-import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.EntityManagerFactory;
 import org.apache.usergrid.persistence.EntityRef;
-import org.apache.usergrid.persistence.index.EntityIndex;
 import org.apache.usergrid.persistence.index.utils.UUIDUtils;
 import org.apache.usergrid.rest.security.annotations.RequireSystemAccess;
 import org.slf4j.Logger;
@@ -53,6 +51,10 @@ public class IndexResource extends AbstractContextResource {
 
     private static final Logger logger = LoggerFactory.getLogger(IndexResource.class);
 
+    public IndexResource(){
+        super();
+    }
+
     @RequireSystemAccess
     @PUT
     @Path( "rebuild" )
@@ -250,10 +252,9 @@ public class IndexResource extends AbstractContextResource {
             throw new IllegalArgumentException("Please add an indexSuffix to your post");
         }
 
-        String writeConsistency = config.get("writeConsistency") != null ? (String)config.get("writeConsistency") : "one" ;
 
         emf.addIndex(appId, config.get("indexSuffix").toString(),
-            (int) config.get("shards"),(int) config.get("replicas"),writeConsistency);
+            (int) config.get("shards"),(int) config.get("replicas"),(String)config.get("writeConsistency"));
         response.setAction("Add index to alias");
 
         return new JSONWithPadding(response, callback);

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ccc884b6/stack/rest/src/test/java/org/apache/usergrid/rest/IndexResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/IndexResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/IndexResourceIT.java
index 7f8d085..77f443f 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/IndexResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/IndexResourceIT.java
@@ -58,6 +58,7 @@ public class IndexResourceIT extends AbstractRestIT {
         Map<String, Object> data = new HashMap<String, Object>();
         data.put( "replicas", 0 );
         data.put( "shards", 1 );
+        data.put( "writeConsistency", "one" );
 
         UUID appId = this.context.getAppUuid();
 


[14/14] incubator-usergrid git commit: Merge remote-tracking branch 'origin/USERGRID-432' into two-dot-o

Posted by to...@apache.org.
Merge remote-tracking branch 'origin/USERGRID-432' into two-dot-o


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

Branch: refs/heads/two-dot-o
Commit: 39c732b6a72883c1bfb5c4e8cc1d6553fb3cc902
Parents: ebf6e13 ccc884b
Author: Todd Nine <tn...@apigee.com>
Authored: Wed Mar 4 10:05:20 2015 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Wed Mar 4 10:05:20 2015 -0700

----------------------------------------------------------------------
 .../corepersistence/CpEntityManager.java        | 26 ++++---
 .../corepersistence/CpEntityManagerFactory.java | 28 ++++----
 .../usergrid/corepersistence/CpWalker.java      | 10 ++-
 .../persistence/EntityManagerFactory.java       |  3 +-
 .../cassandra/EntityManagerFactoryImpl.java     |  2 +-
 .../corepersistence/StaleIndexCleanupTest.java  | 34 ++++-----
 .../cassandra/EntityManagerFactoryImplIT.java   | 56 +++++++++------
 .../usergrid/persistence/index/EntityIndex.java |  9 ++-
 .../usergrid/persistence/index/IndexFig.java    |  2 +-
 .../index/IndexOperationMessage.java            |  7 +-
 .../index/impl/EsEntityIndexImpl.java           | 72 ++++++++++++++------
 .../index/impl/EsIndexBufferConsumerImpl.java   | 27 ++++++--
 .../persistence/index/impl/EntityIndexTest.java |  6 +-
 stack/pom.xml                                   | 24 ++++---
 .../org/apache/usergrid/rest/IndexResource.java |  9 ++-
 .../usergrid/rest/JobServiceBoostrap.java       | 12 ++++
 .../apache/usergrid/rest/AbstractRestIT.java    |  8 ++-
 .../apache/usergrid/rest/IndexResourceIT.java   |  1 +
 .../services/notifications/QueueListener.java   | 11 ++-
 .../resources/usergrid-services-context.xml     |  3 +-
 .../resources/usergrid-custom-test.properties   |  3 +
 .../usergrid/cassandra/ClearShiroSubject.java   | 19 +++---
 22 files changed, 235 insertions(+), 137 deletions(-)
----------------------------------------------------------------------



[11/14] incubator-usergrid git commit: remove threadsafe

Posted by to...@apache.org.
remove threadsafe


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

Branch: refs/heads/two-dot-o
Commit: 16ad2f56733e50f78f62b51323e5352626e80009
Parents: b9408de
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Mar 3 16:40:37 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Mar 3 16:40:37 2015 -0700

----------------------------------------------------------------------
 .../org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java  | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/16ad2f56/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
index 82d8f93..1c37362 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/StaleIndexCleanupTest.java
@@ -70,7 +70,6 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test on read style clean-up of stale ElasticSearch indexes.
  */
-@NotThreadSafe
 public class StaleIndexCleanupTest extends AbstractCoreIT {
     private static final Logger logger = LoggerFactory.getLogger( StaleIndexCleanupTest.class );
 


[03/14] incubator-usergrid git commit: Merge branch 'two-dot-o' of https://git-wip-us.apache.org/repos/asf/incubator-usergrid into USERGRID-432

Posted by to...@apache.org.
Merge branch 'two-dot-o' of https://git-wip-us.apache.org/repos/asf/incubator-usergrid into USERGRID-432


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

Branch: refs/heads/two-dot-o
Commit: 9f521c7d8f133fc68f6c7907180e3779f199b168
Parents: 0f9e8c9 489bf45
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Mar 2 08:22:54 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Mar 2 08:22:54 2015 -0700

----------------------------------------------------------------------
 stack/rest/pom.xml                              |  37 +----
 .../org/apache/usergrid/rest/SimplestTest.java  |  35 -----
 .../applications/queries/GeoPagingTest.java     |  44 +++---
 .../endpoints/CollectionEndpoint.java           | 155 ++++++++++++++-----
 .../endpoints/mgmt/OrgResource.java             |  81 +++++++---
 .../rest/test/resource2point0/model/Entity.java |   6 -
 stack/services/pom.xml                          |   6 +
 stack/test-utils/pom.xml                        |  11 --
 8 files changed, 211 insertions(+), 164 deletions(-)
----------------------------------------------------------------------



[04/14] incubator-usergrid git commit: changing app delete logic in test

Posted by to...@apache.org.
changing app delete logic in test


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

Branch: refs/heads/two-dot-o
Commit: f0b11c62101db82b41a0614224d52e53342c276b
Parents: 9f521c7
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Mar 2 11:00:39 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Mar 2 11:00:39 2015 -0700

----------------------------------------------------------------------
 .../cassandra/EntityManagerFactoryImplIT.java   | 55 ++++++++++++--------
 .../services/notifications/QueueListener.java   | 10 ++--
 .../resources/usergrid-custom-test.properties   |  3 ++
 3 files changed, 43 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f0b11c62/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 c3bc020..20bf7eb 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
@@ -39,6 +39,7 @@ import org.apache.usergrid.persistence.cassandra.util.TraceTagManager;
 import org.apache.usergrid.persistence.cassandra.util.TraceTagReporter;
 import org.apache.usergrid.persistence.model.util.UUIDGenerator;
 import org.apache.usergrid.setup.ConcurrentProcessSingleton;
+import rx.functions.Func0;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -97,7 +98,7 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
         // create an application with a collection and an entity
 
-        UUID applicationId = setup.createApplication( "test-org-" + rand, "test-app-" + rand );
+        final UUID applicationId = setup.createApplication( "test-org-" + rand, "test-app-" + rand );
 
         EntityManager em = setup.getEmf().getEntityManager( applicationId );
 
@@ -122,16 +123,35 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
 
         em.refreshIndex();
 
+        Func0<Boolean> func0 = new Func0<Boolean>() {
+            @Override
+            public Boolean call() {
+                try {
+                    boolean found = false;
+                    Map<String, UUID> deletedApps = emf.getDeletedApplications();
+                    for (String appName : deletedApps.keySet()) {
+                        UUID appId = deletedApps.get(appName);
+                        if (appId.equals(applicationId)) {
+                            found = true;
+                            break;
+                        }
+                    }
+                    return found;
+                }catch (Exception e){
+                    throw new RuntimeException(e);
+                }
+            }
+        };
+
         boolean found = false;
-        Map<String, UUID> deletedApps = emf.getDeletedApplications();
-        for ( String appName : deletedApps.keySet() ) {
-            UUID appId = deletedApps.get( appName );
-            if ( appId.equals( applicationId )) {
-                found = true;
+        for(int i=0;i<5;i++){
+            found = func0.call();
+            if(found){
                 break;
+            } else{
+              Thread.sleep(100);
             }
         }
-
         assertTrue("Deleted app not found in deleted apps collection", found );
 
         // attempt to get entities in application's collections in various ways should all fail
@@ -159,26 +179,17 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
         // test to see that app now works and is happy
 
         // it should not be found in the deleted apps collection
-        found = false;
-        deletedApps = emf.getDeletedApplications();
-        for ( String appName : deletedApps.keySet() ) {
-            UUID appId = deletedApps.get( appName );
-            if ( appId.equals( applicationId )) {
-                found = true;
+        for(int i=0;i<5;i++){
+            found = func0.call();
+            if(!found){
                 break;
+            } else{
+                Thread.sleep(100);
             }
         }
         assertFalse("Restored app found in deleted apps collection", found);
 
-        found = false;
-        appMap = setup.getEmf().getApplications();
-        for ( String appName : appMap.keySet() ) {
-            UUID appId = appMap.get( appName );
-            if ( appId.equals( applicationId )) {
-                found = true;
-                break;
-            }
-        }
+        found = func0.call();
         assertTrue("Restored app not found in apps collection", found);
 
         // TODO: this assertion should work!

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f0b11c62/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
index 5247a25..df27d2b 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
@@ -41,7 +41,9 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
 
-
+/**
+ * Singleton listens for notifications queue messages
+ */
 public class QueueListener  {
     public  final int MESSAGE_TRANSACTION_TIMEOUT =  25 * 1000;
     private final QueueManagerFactory queueManagerFactory;
@@ -83,10 +85,8 @@ public class QueueListener  {
         this.metricsService = smf.getApplicationContext().getBean( Injector.class ).getInstance(MetricsFactory.class);
         this.properties = props;
         this.queueScopeFactory = smf.getApplicationContext().getBean( Injector.class ).getInstance(QueueScopeFactory.class);
-
     }
 
-
     /**
      * Start the service and begin consuming messages
      */
@@ -99,6 +99,10 @@ public class QueueListener  {
             int threadCount = 0;
 
             try {
+                boolean shouldRun = new Boolean(properties.getProperty("usergrid.notifications.listener.run","true"));
+                if(!shouldRun){
+                    return;
+                }
                 sleepBetweenRuns = new Long(properties.getProperty("usergrid.notifications.listener.sleep.between", ""+sleepBetweenRuns)).longValue();
                 sleepWhenNoneFound = new Long(properties.getProperty("usergrid.notifications.listener.sleep.after", ""+DEFAULT_SLEEP)).longValue();
                 batchSize = new Integer(properties.getProperty("usergrid.notifications.listener.batchSize", (""+batchSize)));

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f0b11c62/stack/services/src/test/resources/usergrid-custom-test.properties
----------------------------------------------------------------------
diff --git a/stack/services/src/test/resources/usergrid-custom-test.properties b/stack/services/src/test/resources/usergrid-custom-test.properties
index 60e06a1..1ddfead 100644
--- a/stack/services/src/test/resources/usergrid-custom-test.properties
+++ b/stack/services/src/test/resources/usergrid-custom-test.properties
@@ -27,3 +27,6 @@ notification.concurrent.batches=2
 hystrix.threadpool.graph_user.coreSize=50
 hystrix.threadpool.graph_async.coreSize=50
 usergrid.scheduler.job.timeout=300000
+
+usergrid.notifications.listener.run=false
+


[08/14] incubator-usergrid git commit: add write consistency

Posted by to...@apache.org.
add write consistency


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

Branch: refs/heads/two-dot-o
Commit: 5e578d5c7a85df521968678b3fa9df1d4241c065
Parents: 44c0989
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Mar 3 10:34:55 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Mar 3 10:34:55 2015 -0700

----------------------------------------------------------------------
 .../usergrid/corepersistence/CpEntityManagerFactory.java      | 4 ++--
 .../org/apache/usergrid/persistence/EntityManagerFactory.java | 3 ++-
 .../persistence/cassandra/EntityManagerFactoryImpl.java       | 2 +-
 .../org/apache/usergrid/persistence/index/EntityIndex.java    | 3 ++-
 .../usergrid/persistence/index/impl/EsEntityIndexImpl.java    | 7 ++++---
 .../usergrid/persistence/index/impl/EntityIndexTest.java      | 4 ++--
 .../src/main/java/org/apache/usergrid/rest/IndexResource.java | 4 +++-
 7 files changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5e578d5c/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
index 8272d7d..84fad36 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
@@ -826,9 +826,9 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
     }
 
     @Override
-    public void addIndex(final UUID applicationId,final String indexSuffix,final int shards,final int replicas){
+    public void addIndex(final UUID applicationId,final String indexSuffix,final int shards,final int replicas, final String writeConsistency){
         EntityIndex entityIndex = managerCache.getEntityIndex(CpNamingUtils.getApplicationScope(applicationId));
-        entityIndex.addIndex(indexSuffix, shards, replicas);
+        entityIndex.addIndex(indexSuffix, shards, replicas,writeConsistency);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5e578d5c/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
index b668e24..880fe89 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManagerFactory.java
@@ -165,8 +165,9 @@ public interface EntityManagerFactory {
      * @param suffix unique indentifier for additional index
      * @param shards number of shards
      * @param replicas number of replicas
+     * @param writeConsistency only "one, quorum, or all"
      */
-    public void addIndex(final UUID appId,final String suffix,final int shards,final int replicas);
+    public void addIndex(final UUID appId,final String suffix,final int shards,final int replicas, final String writeConsistency);
 
     public Health getEntityStoreHealth();
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5e578d5c/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
index 9a90e59..af1eabc 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerFactoryImpl.java
@@ -466,7 +466,7 @@ public class EntityManagerFactoryImpl implements EntityManagerFactory, Applicati
     }
 
     @Override
-    public void addIndex(UUID appId, String suffix,final int shards,final int replicas) {
+    public void addIndex(UUID appId, String suffix,final int shards,final int replicas,final String consistency) {
         throw new UnsupportedOperationException("Not supported in v1");
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5e578d5c/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
index b888e09..3edde4d 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/EntityIndex.java
@@ -52,8 +52,9 @@ public interface EntityIndex {
      * @param indexSuffix index name
      * @param shards
      * @param replicas
+     * @param writeConsistency
      */
-    public void addIndex(final String indexSuffix, final int shards, final int replicas);
+    public void addIndex(final String indexSuffix, final int shards, final int replicas, final String writeConsistency);
 
     /**
      * Create the index batch.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5e578d5c/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
index a8b0cc4..1910cdc 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
@@ -140,11 +140,11 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
     public void initializeIndex() {
         final int numberOfShards = config.getNumberOfShards();
         final int numberOfReplicas = config.getNumberOfReplicas();
-        addIndex(null, numberOfShards, numberOfReplicas);
+        addIndex(null, numberOfShards, numberOfReplicas,config.getWriteConsistencyLevel());
     }
 
     @Override
-    public void addIndex(final String indexSuffix,final int numberOfShards, final int numberOfReplicas) {
+    public void addIndex(final String indexSuffix,final int numberOfShards, final int numberOfReplicas, final String writeConsistency) {
         String normalizedSuffix =  StringUtils.isNotEmpty(indexSuffix) ? indexSuffix : null;
         try {
 
@@ -161,7 +161,8 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
                 Settings settings = ImmutableSettings.settingsBuilder()
                         .put("index.number_of_shards", numberOfShards)
                         .put("index.number_of_replicas", numberOfReplicas)
-                        .build();
+                        .put("action.write_consistency", writeConsistency)
+                    .build();
                 final CreateIndexResponse cir = admin.indices().prepareCreate(indexName)
                         .setSettings(settings)
                         .execute()

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5e578d5c/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
index 7bfbb52..22aadc0 100644
--- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
+++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java
@@ -169,7 +169,7 @@ public class EntityIndexTest extends BaseIT {
 
         testQueries( indexScope, searchTypes,  entityIndex );
 
-        entityIndex.addIndex("v2", 1,0);
+        entityIndex.addIndex("v2", 1,0,"one");
 
         insertJsonBlob(entityIndex, entityType, indexScope, "/sample-large.json",101,100);
 
@@ -199,7 +199,7 @@ public class EntityIndexTest extends BaseIT {
 
         entityIndex.refresh();
 
-        entityIndex.addIndex("v2", 1, 0);
+        entityIndex.addIndex("v2", 1, 0, "one");
 
         insertJsonBlob(entityIndex, entityType, indexScope, "/sample-large.json", 1, 0);
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5e578d5c/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
index f5338c5..f4ebf23 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/IndexResource.java
@@ -250,8 +250,10 @@ public class IndexResource extends AbstractContextResource {
             throw new IllegalArgumentException("Please add an indexSuffix to your post");
         }
 
+        String writeConsistency = config.get("writeConsistency") != null ? (String)config.get("writeConsistency") : "one" ;
+
         emf.addIndex(appId, config.get("indexSuffix").toString(),
-            (int) config.get("shards"),(int) config.get("replicas"));
+            (int) config.get("shards"),(int) config.get("replicas"),writeConsistency);
         response.setAction("Add index to alias");
 
         return new JSONWithPadding(response, callback);


[05/14] incubator-usergrid git commit: change timeout

Posted by to...@apache.org.
change timeout


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

Branch: refs/heads/two-dot-o
Commit: 4d6bee0d88c3335c8fef95f3da0fcdbfdfaca08a
Parents: f0b11c6
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Mar 2 12:14:51 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Mar 2 12:14:51 2015 -0700

----------------------------------------------------------------------
 .../persistence/cassandra/EntityManagerFactoryImplIT.java | 10 +++++++++-
 .../org/apache/usergrid/persistence/index/IndexFig.java   |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4d6bee0d/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 20bf7eb..3f42356 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
@@ -189,7 +189,15 @@ public class EntityManagerFactoryImplIT extends AbstractCoreIT {
         }
         assertFalse("Restored app found in deleted apps collection", found);
 
-        found = func0.call();
+        found = false;
+        appMap = setup.getEmf().getApplications();
+        for ( String appName : appMap.keySet() ) {
+            UUID appId = appMap.get( appName );
+            if ( appId.equals( applicationId )) {
+                found = true;
+                break;
+            }
+        }
         assertTrue("Restored app not found in apps collection", found);
 
         // TODO: this assertion should work!

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4d6bee0d/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
index 8040a62..9893ca5 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
@@ -51,7 +51,7 @@ public interface IndexFig extends GuicyFig {
 
     public static final String INDEX_BUFFER_SIZE = "elasticsearch.buffer_size";
 
-    public static final String INDEX_BUFFER_TIMEOUT = "elasticsearch.buffer_size";
+    public static final String INDEX_BUFFER_TIMEOUT = "elasticsearch.buffer_timeout";
 
     public static final String INDEX_BATCH_SIZE = "elasticsearch.batch_size";