You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/03/20 00:27:07 UTC

[50/50] [abbrv] incubator-usergrid git commit: fix collections it

fix collections it


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

Branch: refs/heads/USERGRID-480
Commit: 735eedb2c25d6149f58728cbde74ca0dbf7d9283
Parents: 70fe285
Author: Shawn Feldman <sf...@apache.org>
Authored: Thu Mar 19 17:24:32 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Thu Mar 19 17:24:32 2015 -0600

----------------------------------------------------------------------
 .../corepersistence/CpEntityManager.java        |  7 ----
 .../corepersistence/CpEntityManagerFactory.java |  6 +--
 .../usergrid/corepersistence/CpSetup.java       |  6 ++-
 .../usergrid/persistence/EntityManager.java     |  5 ---
 .../cassandra/EntityManagerImpl.java            |  6 ---
 .../corepersistence/StaleIndexCleanupTest.java  | 39 ++++++++++++++++----
 .../usergrid/persistence/CollectionIT.java      | 14 ++++---
 .../index/impl/EsEntityIndexImpl.java           |  4 ++
 8 files changed, 53 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/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 a9f00b4..64f0257 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
@@ -2893,13 +2893,6 @@ public class CpEntityManager implements EntityManager {
 
 
     @Override
-    public void createIndex() {
-        ei.initializeIndex();
-    }
-
-
-
-    @Override
     public void flushManagerCaches() {
         managerCache.invalidate();
     }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/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 f3d18d0..134886f 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
@@ -160,8 +160,8 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
                 em.getApplication();
             }
 
-            em.createIndex();
-            em.refreshIndex();
+            entityIndex.initializeIndex();
+            entityIndex.refresh();
 
 
         } catch (Exception ex) {
@@ -723,7 +723,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
         EntityManager em = getEntityManager( appId );
 
         //explicitly invoke create index, we don't know if it exists or not in ES during a rebuild.
-        em.createIndex();
+        entityIndex.initializeIndex();
         em.reindex(po);
 
         em.reindex( po );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
index d70c16c..a9e6cee 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
@@ -19,6 +19,8 @@ package org.apache.usergrid.corepersistence;
 
 import java.util.UUID;
 
+import com.google.inject.Binding;
+import org.apache.usergrid.persistence.index.EntityIndex;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -64,6 +66,7 @@ public class CpSetup implements Setup {
     private final CassandraService cass;
 
     private final EntityManagerFactory emf;
+    private final EntityIndex entityIndex;
 
 
     /**
@@ -75,6 +78,7 @@ public class CpSetup implements Setup {
         this.emf = emf;
         this.cass = cassandraService;
         this.injector = injector;
+        this.entityIndex = injector.getInstance(EntityIndex.class);
     }
 
 
@@ -95,7 +99,7 @@ public class CpSetup implements Setup {
         setupStaticKeyspace();
 
         //force the EMF creation of indexes before creating the default applications
-        emf.refreshIndex();
+        entityIndex.initializeIndex();
 
         injector.getInstance( DataMigrationManager.class ).migrate();
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
index 71dcd07..89a5384 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
@@ -690,11 +690,6 @@ public interface EntityManager {
      */
     void refreshIndex();
 
-    /**
-     * Create the index, should ONLY ever be called the first time an application is created
-     */
-    void createIndex();
-
 
     public void init( EntityManagerFactory emf, EntityIndex entityIndex, UUID applicationId);
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
index 803512b..112b684 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/EntityManagerImpl.java
@@ -2890,12 +2890,6 @@ public class EntityManagerImpl implements EntityManager {
     }
 
 
-    @Override
-    public void createIndex() {
-        //no op
-    }
-
-
 
     @Override
     public EntityRef getGroupRoleRef( UUID ownerId, String roleName) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/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 fdd230c..450f44b 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
@@ -120,7 +120,14 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
         assertTrue( "New version is greater than old",
                 UUIDComparator.staticCompare( newVersion, oldVersion ) > 0 );
 
-        assertEquals( 2, queryCollectionCp( "things", "thing", "select *" ).size() );
+        CandidateResults results;
+        do{
+             results = queryCollectionCp( "things", "thing", "select *" );
+            if(results.size()!=2){
+                Thread.sleep(200);
+            }
+        }while(results.size()!=2);
+        assertEquals( 2, results.size() );
     }
 
 
@@ -151,24 +158,42 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
 
         UUID newVersion =  getCpEntity( thing ).getVersion();
 
+        CandidateResults candidateResults = null;
+
+        do{
+            candidateResults = queryCollectionCp("things", "thing", "select * order by ordinal desc");
+            if(candidateResults.size()!=2){
+                Thread.sleep(200);
+            }
+        }while(candidateResults.size()<2);
 
-        assertEquals(2, queryCollectionCp("things", "thing", "select * order by ordinal desc").size());
+        assertEquals(2, candidateResults.size());
 
         //now run enable events and ensure we clean up
         System.setProperty(EVENTS_DISABLED, "false");
 
-        final Results results = queryCollectionEm("things", "select * order by ordinal desc");
-
+        Results results = null;
+        do{
+            results =  queryCollectionEm("things", "select * order by ordinal desc");;
+            if(results.size()!=1){
+                Thread.sleep(200);
+            }
+        }while(results.size()<1);
         assertEquals( 1, results.size() );
         assertEquals(1, results.getEntities().get( 0 ).getProperty( "ordinal" ));
 
         em.refreshIndex();
 
         //ensure it's actually gone
-        final CandidateResults candidates =  queryCollectionCp( "things", "thing", "select * order by ordinal desc" );
-        assertEquals(1, candidates.size());
+        do{
+            candidateResults = queryCollectionCp( "things", "thing", "select * order by ordinal desc" );
+            if(candidateResults.size()!=1){
+                Thread.sleep(200);
+            }
+        }while(candidateResults.size()!=1);
+        assertEquals(1, candidateResults.size());
 
-        assertEquals(newVersion, candidates.get(0).getVersion());
+        assertEquals(newVersion, candidateResults.get(0).getVersion());
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java b/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java
index 641d3ad..aa75a9a 100644
--- a/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java
+++ b/stack/core/src/test/java/org/apache/usergrid/persistence/CollectionIT.java
@@ -1227,11 +1227,15 @@ public class CollectionIT extends AbstractCoreIT {
 
         Query query = new Query();
         query.addEqualityFilter( "rootprop1", "simpleprop" );
-
-        Results results = em.searchCollection( em.getApplicationRef(), "tests", query );
-
-        Entity entity = results.getEntitiesMap().get( saved.getUuid() );
-
+        Entity entity;
+        Results results;
+        do {
+            results = em.searchCollection(em.getApplicationRef(), "tests", query);
+            entity = results.getEntitiesMap().get(saved.getUuid());
+            if (entity == null) {
+                Thread.sleep(200);
+            }
+        }while(entity == null);
         assertNotNull( entity );
 
         // query on the nested int value

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/735eedb2/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 e92e133..04fde6a 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
@@ -18,6 +18,7 @@
 package org.apache.usergrid.persistence.index.impl;
 
 
+import com.codahale.metrics.Meter;
 import com.codahale.metrics.Timer;
 import com.google.common.collect.ImmutableMap;
 import com.google.inject.Inject;
@@ -105,6 +106,7 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
     private EsIndexCache aliasCache;
     private Timer mappingTimer;
     private Timer refreshTimer;
+    private Meter refreshIndexMeter;
 
 
 //    private final Timer indexTimer;
@@ -131,6 +133,7 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
             .getTimer(EsEntityIndexImpl.class, "create.mapping.timer");
         this.refreshTimer = metricsFactory
             .getTimer(EsEntityIndexImpl.class, "refresh.timer");
+        this.refreshIndexMeter = metricsFactory.getMeter(EsEntityIndexImpl.class,"refresh.meter");
 
     }
 
@@ -323,6 +326,7 @@ public class EsEntityIndexImpl implements AliasedEntityIndex {
 
 
     public void refresh() {
+        refreshIndexMeter.mark();
 
         BetterFuture future = indexBatchBufferProducer.put(new IndexOperationMessage());
         future.get();