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/06/08 18:43:53 UTC
incubator-usergrid git commit: Change from static index to location
strategy
Repository: incubator-usergrid
Updated Branches:
refs/heads/USERGRID-652 bfb5885a0 -> 3ebe8e9b9
Change from static index to location strategy
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/3ebe8e9b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/3ebe8e9b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/3ebe8e9b
Branch: refs/heads/USERGRID-652
Commit: 3ebe8e9b95434eb97985b85a613de7327977d2d4
Parents: bfb5885
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Jun 8 10:43:41 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Jun 8 10:43:41 2015 -0600
----------------------------------------------------------------------
.../usergrid/corepersistence/CpSetup.java | 1 -
.../corepersistence/index/IndexServiceImpl.java | 23 +++------
.../search/AbstractElasticSearchFilter.java | 11 +++--
.../read/search/CandidateEntityFilter.java | 10 ++--
.../pipeline/read/search/CandidateIdFilter.java | 16 +++---
.../read/search/SearchCollectionFilter.java | 9 +++-
.../read/search/SearchConnectionFilter.java | 7 ++-
.../org/apache/usergrid/CoreApplication.java | 8 ++-
.../corepersistence/StaleIndexCleanupTest.java | 6 ++-
.../index/AsyncIndexServiceTest.java | 15 +++---
.../corepersistence/index/IndexServiceTest.java | 51 +++++++++++---------
.../PerformanceEntityRebuildIndexTest.java | 8 ++-
.../src/test/resources/log4j.properties | 2 +-
13 files changed, 96 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/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 d3a1dcc..c93d443 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
@@ -23,7 +23,6 @@ import com.google.inject.Binding;
import org.apache.usergrid.corepersistence.util.CpNamingUtils;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
-import org.apache.usergrid.persistence.index.ApplicationEntityIndex;
import org.apache.usergrid.persistence.index.EntityIndex;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.model.entity.SimpleId;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
index 96b0792..b8531f8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
@@ -23,6 +23,7 @@ package org.apache.usergrid.corepersistence.index;
import java.util.Iterator;
import java.util.UUID;
+import org.apache.usergrid.persistence.index.*;
import org.apache.usergrid.utils.UUIDUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,24 +32,14 @@ import org.apache.usergrid.corepersistence.util.CpNamingUtils;
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.core.metrics.ObservableTimer;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.entities.Application;
import org.apache.usergrid.persistence.graph.Edge;
import org.apache.usergrid.persistence.graph.GraphManager;
import org.apache.usergrid.persistence.graph.GraphManagerFactory;
import org.apache.usergrid.persistence.graph.impl.SimpleEdge;
import org.apache.usergrid.persistence.graph.serialization.EdgesObservable;
-import org.apache.usergrid.persistence.index.ApplicationEntityIndex;
-import org.apache.usergrid.persistence.index.CandidateResult;
-import org.apache.usergrid.persistence.index.CandidateResults;
-import org.apache.usergrid.persistence.index.EntityIndexBatch;
-import org.apache.usergrid.persistence.index.EntityIndexFactory;
-import org.apache.usergrid.persistence.index.IndexEdge;
-import org.apache.usergrid.persistence.index.IndexFig;
-import org.apache.usergrid.persistence.index.SearchEdge;
import org.apache.usergrid.persistence.index.impl.IndexOperationMessage;
import org.apache.usergrid.persistence.model.entity.Entity;
import org.apache.usergrid.persistence.model.entity.Id;
-import org.apache.usergrid.persistence.schema.CollectionInfo;
import org.apache.usergrid.utils.InflectionUtils;
import com.codahale.metrics.Timer;
@@ -76,17 +67,19 @@ public class IndexServiceImpl implements IndexService {
private final EntityIndexFactory entityIndexFactory;
private final EdgesObservable edgesObservable;
private final IndexFig indexFig;
+ private final IndexLocationStrategyFactory indexLocationStrategyFactory;
private final Timer indexTimer;
private final Timer addTimer;
@Inject
public IndexServiceImpl( final GraphManagerFactory graphManagerFactory, final EntityIndexFactory entityIndexFactory,
- final EdgesObservable edgesObservable, final IndexFig indexFig, final MetricsFactory metricsFactory ) {
+ final EdgesObservable edgesObservable, final IndexFig indexFig, final IndexLocationStrategyFactory indexLocationStrategyFactory, final MetricsFactory metricsFactory ) {
this.graphManagerFactory = graphManagerFactory;
this.entityIndexFactory = entityIndexFactory;
this.edgesObservable = edgesObservable;
this.indexFig = indexFig;
+ this.indexLocationStrategyFactory = indexLocationStrategyFactory;
this.indexTimer = metricsFactory.getTimer( IndexServiceImpl.class, "index.update_all");
this.addTimer = metricsFactory.getTimer( IndexServiceImpl.class, "index.add" );
}
@@ -97,7 +90,7 @@ public class IndexServiceImpl implements IndexService {
final Entity entity ) {
//bootstrap the lower modules from their caches
final GraphManager gm = graphManagerFactory.createEdgeManager( applicationScope );
- final ApplicationEntityIndex ei = entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex ei = entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope));
final Id entityId = entity.getId();
@@ -145,7 +138,7 @@ public class IndexServiceImpl implements IndexService {
throw new IllegalArgumentException("target not equal to entity + "+entity.getId());
} ).flatMap( indexEdge -> {
- final ApplicationEntityIndex ei = entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex ei = entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
final EntityIndexBatch batch = ei.createBatch();
@@ -172,7 +165,7 @@ public class IndexServiceImpl implements IndexService {
final Observable<IndexOperationMessage> batches =
Observable.just( edge ).flatMap( edgeValue -> {
- final ApplicationEntityIndex ei = entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex ei = entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
EntityIndexBatch batch = ei.createBatch();
@@ -209,7 +202,7 @@ public class IndexServiceImpl implements IndexService {
final Id entityId, final UUID markedVersion ) {
//bootstrap the lower modules from their caches
- final ApplicationEntityIndex ei = entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex ei = entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
CandidateResults crs = ei.getAllEntityVersionsBeforeMarkedVersion( entityId, markedVersion );
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
index 2fdffd2..40a96cf 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
@@ -20,6 +20,7 @@
package org.apache.usergrid.corepersistence.pipeline.read.search;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.apache.usergrid.persistence.index.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,6 +48,7 @@ public abstract class AbstractElasticSearchFilter extends AbstractPathFilter<Id,
private static final Logger log = LoggerFactory.getLogger( AbstractElasticSearchFilter.class );
private final EntityIndexFactory entityIndexFactory;
+ private final IndexLocationStrategyFactory indexLocationStrategyFactory;
private final String query;
private final Timer searchTimer;
@@ -55,8 +57,11 @@ public abstract class AbstractElasticSearchFilter extends AbstractPathFilter<Id,
* Create a new instance of our command
*/
public AbstractElasticSearchFilter( final EntityIndexFactory entityIndexFactory,
- final MetricsFactory metricsFactory, final String query ) {
+ final MetricsFactory metricsFactory,
+ final IndexLocationStrategyFactory indexLocationStrategyFactory,
+ final String query ) {
this.entityIndexFactory = entityIndexFactory;
+ this.indexLocationStrategyFactory = indexLocationStrategyFactory;
this.query = query;
this.searchTimer = metricsFactory.getTimer( AbstractElasticSearchFilter.class, "query" );
}
@@ -66,8 +71,8 @@ public abstract class AbstractElasticSearchFilter extends AbstractPathFilter<Id,
public Observable<FilterResult<Candidate>> call( final Observable<FilterResult<Id>> observable ) {
//get the graph manager
- final ApplicationEntityIndex applicationEntityIndex =
- entityIndexFactory.createApplicationEntityIndex( pipelineContext.getApplicationScope() );
+ final AliasedEntityIndex applicationEntityIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(pipelineContext.getApplicationScope()) );
final int limit = pipelineContext.getLimit();
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
index d8a9c68..5303bf5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
@@ -22,6 +22,7 @@ package org.apache.usergrid.corepersistence.pipeline.read.search;
import java.util.*;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.apache.usergrid.persistence.index.*;
import org.apache.usergrid.persistence.model.field.Field;
import org.slf4j.Logger;
@@ -54,13 +55,16 @@ public class CandidateEntityFilter extends AbstractFilter<FilterResult<Candidate
private final EntityCollectionManagerFactory entityCollectionManagerFactory;
private final EntityIndexFactory entityIndexFactory;
+ private final IndexLocationStrategyFactory indexLocationStrategyFactory;
@Inject
public CandidateEntityFilter( final EntityCollectionManagerFactory entityCollectionManagerFactory,
- final EntityIndexFactory entityIndexFactory ) {
+ final EntityIndexFactory entityIndexFactory,
+ final IndexLocationStrategyFactory indexLocationStrategyFactory) {
this.entityCollectionManagerFactory = entityCollectionManagerFactory;
this.entityIndexFactory = entityIndexFactory;
+ this.indexLocationStrategyFactory = indexLocationStrategyFactory;
}
@@ -80,8 +84,8 @@ public class CandidateEntityFilter extends AbstractFilter<FilterResult<Candidate
entityCollectionManagerFactory.createCollectionManager( applicationScope );
- final ApplicationEntityIndex applicationIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex applicationIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
//buffer them to get a page size we can make 1 network hop
final Observable<FilterResult<Entity>> searchIdSetObservable = candidateResultsObservable.buffer( pipelineContext.getLimit() )
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
index 1ef358a..49acfa6 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
@@ -24,6 +24,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
+import org.apache.usergrid.persistence.index.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,11 +36,6 @@ import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory
import org.apache.usergrid.persistence.collection.MvccLogEntry;
import org.apache.usergrid.persistence.collection.VersionSet;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.index.ApplicationEntityIndex;
-import org.apache.usergrid.persistence.index.CandidateResult;
-import org.apache.usergrid.persistence.index.EntityIndexBatch;
-import org.apache.usergrid.persistence.index.EntityIndexFactory;
-import org.apache.usergrid.persistence.index.SearchEdge;
import org.apache.usergrid.persistence.model.entity.Id;
import com.fasterxml.uuid.UUIDComparator;
@@ -55,13 +52,16 @@ public class CandidateIdFilter extends AbstractFilter<FilterResult<Candidate>, F
private final EntityCollectionManagerFactory entityCollectionManagerFactory;
private final EntityIndexFactory entityIndexFactory;
+ private final IndexLocationStrategyFactory indexLocationStrategyFactory;
@Inject
public CandidateIdFilter( final EntityCollectionManagerFactory entityCollectionManagerFactory,
- final EntityIndexFactory entityIndexFactory ) {
+ final EntityIndexFactory entityIndexFactory,
+ final IndexLocationStrategyFactory indexLocationStrategyFactory) {
this.entityCollectionManagerFactory = entityCollectionManagerFactory;
this.entityIndexFactory = entityIndexFactory;
+ this.indexLocationStrategyFactory = indexLocationStrategyFactory;
}
@@ -80,8 +80,8 @@ public class CandidateIdFilter extends AbstractFilter<FilterResult<Candidate>, F
entityCollectionManagerFactory.createCollectionManager( applicationScope );
- final ApplicationEntityIndex applicationIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex applicationIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope));
final Observable<FilterResult<Id>> searchIdSetObservable =
filterResultObservable.buffer( pipelineContext.getLimit() ).flatMap( candidateResults -> {
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchCollectionFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchCollectionFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchCollectionFilter.java
index a6edd56..f95cb88 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchCollectionFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchCollectionFilter.java
@@ -20,6 +20,7 @@
package org.apache.usergrid.corepersistence.pipeline.read.search;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.SearchEdge;
@@ -34,6 +35,7 @@ import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createColle
public class SearchCollectionFilter extends AbstractElasticSearchFilter {
+ private final IndexLocationStrategyFactory indexLocationStrategyFactory;
private final String collectionName;
private final String entityType;
@@ -46,11 +48,14 @@ public class SearchCollectionFilter extends AbstractElasticSearchFilter {
* @param entityType The entity type
*/
@Inject
- public SearchCollectionFilter( final EntityIndexFactory entityIndexFactory, final MetricsFactory metricsFactory,
+ public SearchCollectionFilter( final EntityIndexFactory entityIndexFactory,
+ final IndexLocationStrategyFactory indexLocationStrategyFactory,
+ final MetricsFactory metricsFactory,
@Assisted( "query" ) final String query,
@Assisted( "collectionName" ) final String collectionName,
@Assisted( "entityType" ) final String entityType ) {
- super( entityIndexFactory, metricsFactory, query );
+ super( entityIndexFactory, metricsFactory, indexLocationStrategyFactory, query );
+ this.indexLocationStrategyFactory = indexLocationStrategyFactory;
this.collectionName = collectionName;
this.entityType = entityType;
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
index 82d7377..27a12a8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
@@ -20,6 +20,7 @@
package org.apache.usergrid.corepersistence.pipeline.read.search;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.SearchEdge;
@@ -44,11 +45,13 @@ public class SearchConnectionFilter extends AbstractElasticSearchFilter {
* Create a new instance of our command
*/
@Inject
- public SearchConnectionFilter( final EntityIndexFactory entityIndexFactory, final MetricsFactory metricsFactory,
+ public SearchConnectionFilter( final EntityIndexFactory entityIndexFactory,
+ final MetricsFactory metricsFactory,
+ final IndexLocationStrategyFactory indexLocationStrategyFactory,
@Assisted( "query" ) final String query,
@Assisted( "connectionName" ) final String connectionName,
@Assisted( "connectedEntityType" ) final Optional<String> connectedEntityType ) {
- super( entityIndexFactory, metricsFactory, query );
+ super( entityIndexFactory, metricsFactory, indexLocationStrategyFactory, query );
this.connectionName = connectionName;
this.connectedEntityType = connectedEntityType;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/test/java/org/apache/usergrid/CoreApplication.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/CoreApplication.java b/stack/core/src/test/java/org/apache/usergrid/CoreApplication.java
index 00cadd0..217aeb9 100644
--- a/stack/core/src/test/java/org/apache/usergrid/CoreApplication.java
+++ b/stack/core/src/test/java/org/apache/usergrid/CoreApplication.java
@@ -24,6 +24,7 @@ import java.util.UUID;
import java.util.concurrent.ExecutionException;
import com.google.inject.Injector;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.apache.usergrid.corepersistence.util.CpNamingUtils;
import org.apache.usergrid.persistence.index.*;
import org.apache.usergrid.persistence.model.entity.Id;
@@ -57,7 +58,7 @@ public class CoreApplication implements Application, TestRule {
protected Map<String, Object> properties = new LinkedHashMap<String, Object>();
private EntityIndex entityIndex;
private EntityIndexFactory entityIndexFactory;
- private ApplicationEntityIndex applicationIndex;
+ private AliasedEntityIndex applicationIndex;
private EntityManager managementEm;
@@ -178,8 +179,11 @@ public class CoreApplication implements Application, TestRule {
em = setup.getEmf().getEntityManager(id);
Injector injector = setup.getInjector();
entityIndex = injector.getInstance(EntityIndex.class);
+ IndexLocationStrategyFactory indexLocationStrategyFactory = injector.getInstance(IndexLocationStrategyFactory.class);
entityIndexFactory = injector.getInstance(EntityIndexFactory.class);
- applicationIndex = entityIndexFactory.createApplicationEntityIndex(CpNamingUtils.getApplicationScope(id));
+ applicationIndex = entityIndexFactory.createEntityIndex(
+ indexLocationStrategyFactory.getIndexLocationStrategy(CpNamingUtils.getApplicationScope(id))
+ );
assertNotNull(em);
LOG.info( "Created new application {} in organization {}", appName, orgName );
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/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 29dc549..bb3f0b6 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
@@ -24,6 +24,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -45,7 +46,7 @@ import org.apache.usergrid.persistence.collection.EntityCollectionManager;
import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
-import org.apache.usergrid.persistence.index.ApplicationEntityIndex;
+import org.apache.usergrid.persistence.index.AliasedEntityIndex;
import org.apache.usergrid.persistence.index.CandidateResults;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.SearchEdge;
@@ -496,7 +497,8 @@ public class StaleIndexCleanupTest extends AbstractCoreIT {
ApplicationScope as = new ApplicationScopeImpl(
new SimpleId( em.getApplicationId(), TYPE_APPLICATION ) );
- ApplicationEntityIndex ei = eif.createApplicationEntityIndex(as);
+ IndexLocationStrategyFactory indexLocationStrategyFactory = SpringResource.getInstance().getBean( Injector.class ).getInstance(IndexLocationStrategyFactory.class);
+ AliasedEntityIndex ei = eif.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(as));
final Id rootId = createId(em.getApplicationId(), TYPE_APPLICATION);
SearchEdge is = CpNamingUtils.createCollectionSearchEdge( rootId, collName );
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java
index 00c082f..7096a4b 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/AsyncIndexServiceTest.java
@@ -84,6 +84,9 @@ public abstract class AsyncIndexServiceTest {
@Inject
public EntityIndex entityIndex;
+ @Inject
+ public IndexLocationStrategyFactory indexLocationStrategyFactory;
+
private AsyncEventService asyncEventService;
@@ -144,13 +147,13 @@ public abstract class AsyncIndexServiceTest {
// Thread.sleep( 1000000000000l );
- final ApplicationEntityIndex applicationEntityIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex AliasedEntityIndex =
+ entityIndexFactory.createEntityIndex( indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
final SearchEdge collectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( collectionEdge );
//query until it's available
- final CandidateResults collectionResults = getResults( applicationEntityIndex, collectionSearchEdge,
+ final CandidateResults collectionResults = getResults( AliasedEntityIndex, collectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1, 100 );
assertEquals( 1, collectionResults.size() );
@@ -162,7 +165,7 @@ public abstract class AsyncIndexServiceTest {
//query until it's available
- final CandidateResults connectionResults = getResults( applicationEntityIndex, connectionSearchEdge,
+ final CandidateResults connectionResults = getResults( AliasedEntityIndex, connectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1, 100 );
assertEquals( 1, connectionResults.size() );
@@ -171,13 +174,13 @@ public abstract class AsyncIndexServiceTest {
}
- private CandidateResults getResults( final ApplicationEntityIndex applicationEntityIndex,
+ private CandidateResults getResults( final AliasedEntityIndex AliasedEntityIndex,
final SearchEdge searchEdge, final SearchTypes searchTypes, final int expectedSize, final int attempts ) {
for ( int i = 0; i < attempts; i++ ) {
final CandidateResults candidateResults =
- applicationEntityIndex.search( searchEdge, searchTypes, "select *", 100, 0 );
+ AliasedEntityIndex.search( searchEdge, searchTypes, "select *", 100, 0 );
if ( candidateResults.size() == expectedSize ) {
return candidateResults;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java
index 5c926c8..d52ef21 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexServiceTest.java
@@ -40,7 +40,7 @@ import org.apache.usergrid.persistence.core.test.UseModules;
import org.apache.usergrid.persistence.graph.Edge;
import org.apache.usergrid.persistence.graph.GraphManager;
import org.apache.usergrid.persistence.graph.GraphManagerFactory;
-import org.apache.usergrid.persistence.index.ApplicationEntityIndex;
+import org.apache.usergrid.persistence.index.AliasedEntityIndex;
import org.apache.usergrid.persistence.index.CandidateResults;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.index.IndexFig;
@@ -86,6 +86,9 @@ public class IndexServiceTest {
public EntityIndexFactory entityIndexFactory;
@Inject
+ public IndexLocationStrategyFactory indexLocationStrategyFactory;
+
+ @Inject
public IndexFig indexFig;
public GraphManager graphManager;
@@ -172,13 +175,13 @@ public class IndexServiceTest {
assertEquals(1, batches);
- final ApplicationEntityIndex applicationEntityIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex AliasedEntityIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
//query until the collection edge is available
final SearchEdge collectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( collectionEdge );
- final CandidateResults collectionResults = getResults( applicationEntityIndex, collectionSearchEdge,
+ final CandidateResults collectionResults = getResults( AliasedEntityIndex, collectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1);
assertEquals( 1, collectionResults.size() );
@@ -189,7 +192,7 @@ public class IndexServiceTest {
//query until the connection edge is available
final SearchEdge connectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( connectionSearch );
- final CandidateResults connectionResults = getResults( applicationEntityIndex, connectionSearchEdge,
+ final CandidateResults connectionResults = getResults( AliasedEntityIndex, connectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1 );
assertEquals( 1, connectionResults.size() );
@@ -259,14 +262,14 @@ public class IndexServiceTest {
assertEquals(expectedSize, batches);
- final ApplicationEntityIndex applicationEntityIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex AliasedEntityIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
final SearchEdge collectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( collectionEdge );
//query until it's available
- final CandidateResults collectionResults = getResults( applicationEntityIndex, collectionSearchEdge,
+ final CandidateResults collectionResults = getResults( AliasedEntityIndex, collectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1 );
assertEquals( 1, collectionResults.size() );
@@ -278,7 +281,7 @@ public class IndexServiceTest {
//query until it's available
- final CandidateResults connectionResults = getResults( applicationEntityIndex, connectionSearchEdge,
+ final CandidateResults connectionResults = getResults( AliasedEntityIndex, connectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1 );
assertEquals( 1, connectionResults.size() );
@@ -290,7 +293,7 @@ public class IndexServiceTest {
//query until it's available
- final CandidateResults lastConnectionResults = getResults( applicationEntityIndex, lastConnectionSearchEdge,
+ final CandidateResults lastConnectionResults = getResults( AliasedEntityIndex, lastConnectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1 );
assertEquals( 1, lastConnectionResults.size() );
@@ -313,8 +316,8 @@ public class IndexServiceTest {
ApplicationScope applicationScope =
new ApplicationScopeImpl( new SimpleId( UUID.randomUUID(), "application" ) );
- final ApplicationEntityIndex applicationEntityIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex AliasedEntityIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
final GraphManager graphManager = graphManagerFactory.createEdgeManager( applicationScope );
@@ -341,7 +344,7 @@ public class IndexServiceTest {
assertEquals( 1, indexOperationMessage.getDeIndexRequests().size() );
//ensure that no edges remain
- final CandidateResults connectionResultsEmpty = applicationEntityIndex.search( connectionSearchEdge,
+ final CandidateResults connectionResultsEmpty = AliasedEntityIndex.search( connectionSearchEdge,
SearchTypes.fromTypes( "things" ),"select *",10,0 );
assertEquals(0,connectionResultsEmpty.size());
@@ -353,8 +356,8 @@ public class IndexServiceTest {
ApplicationScope applicationScope =
new ApplicationScopeImpl( new SimpleId( UUID.randomUUID(), "application" ) );
- final ApplicationEntityIndex applicationEntityIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex AliasedEntityIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
final GraphManager graphManager = graphManagerFactory.createEdgeManager( applicationScope );
@@ -373,14 +376,14 @@ public class IndexServiceTest {
//query until results are available for collections
final SearchEdge collectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( collectionEdge );
- getResults( applicationEntityIndex, collectionSearchEdge,
+ getResults( AliasedEntityIndex, collectionSearchEdge,
SearchTypes.fromTypes( testEntity.getId().getType() ), 1 );
for(int i = 0; i < edgeCount; i++) {
//query until results are available for connections
final SearchEdge connectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( connectionSearchEdges.get( i ) );
- getResults( applicationEntityIndex, connectionSearchEdge, SearchTypes.fromTypes( testEntity.getId().getType() ),
+ getResults( AliasedEntityIndex, connectionSearchEdge, SearchTypes.fromTypes( testEntity.getId().getType() ),
1 );
}
@@ -399,7 +402,7 @@ public class IndexServiceTest {
assertEquals( 1, indexOperationMessage.getDeIndexRequests().size() );
//ensure that no edges remain
- final CandidateResults connectionResultsEmpty = applicationEntityIndex.search( connectionSearchEdge,
+ final CandidateResults connectionResultsEmpty = AliasedEntityIndex.search( connectionSearchEdge,
SearchTypes.fromTypes( "things" ),"select *",10,0 );
assertEquals(0,connectionResultsEmpty.size());
@@ -419,8 +422,8 @@ public class IndexServiceTest {
final EntityCollectionManager collectionManager =
entityCollectionManagerFactory.createCollectionManager( applicationScope );
- final ApplicationEntityIndex applicationEntityIndex =
- entityIndexFactory.createApplicationEntityIndex( applicationScope );
+ final AliasedEntityIndex AliasedEntityIndex =
+ entityIndexFactory.createEntityIndex(indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope) );
final Edge collectionEdge =
createEntityandCollectionEdge( applicationScope, graphManager, testEntity );
@@ -437,12 +440,12 @@ public class IndexServiceTest {
//query until results are available for collections
final SearchEdge collectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( collectionEdge );
- getResults( applicationEntityIndex, collectionSearchEdge, SearchTypes.fromTypes( testEntity.getId().getType() ),
+ getResults( AliasedEntityIndex, collectionSearchEdge, SearchTypes.fromTypes( testEntity.getId().getType() ),
1 );
//query until results are available for connections
final SearchEdge connectionSearchEdge = CpNamingUtils.createSearchEdgeFromSource( connectionSearch );
- getResults( applicationEntityIndex, connectionSearchEdge, SearchTypes.fromTypes( testEntity.getId().getType() ),
+ getResults( AliasedEntityIndex, connectionSearchEdge, SearchTypes.fromTypes( testEntity.getId().getType() ),
1 );
return connectionSearch;
@@ -492,7 +495,7 @@ public class IndexServiceTest {
}
- private CandidateResults getResults( final ApplicationEntityIndex applicationEntityIndex,
+ private CandidateResults getResults( final AliasedEntityIndex AliasedEntityIndex,
final SearchEdge searchEdge, final SearchTypes searchTypes,
final int expectedSize ) {
final int attempts = 100;
@@ -500,7 +503,7 @@ public class IndexServiceTest {
String ql = "select *";
for ( int i = 0; i < attempts; i++ ) {
final CandidateResults candidateResults =
- applicationEntityIndex.search( searchEdge, searchTypes, ql , 100, 0 );
+ AliasedEntityIndex.search( searchEdge, searchTypes, ql , 100, 0 );
if ( candidateResults.size() == expectedSize ) {
return candidateResults;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/core/src/test/java/org/apache/usergrid/persistence/PerformanceEntityRebuildIndexTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/persistence/PerformanceEntityRebuildIndexTest.java b/stack/core/src/test/java/org/apache/usergrid/persistence/PerformanceEntityRebuildIndexTest.java
index 318a378..560971f 100644
--- a/stack/core/src/test/java/org/apache/usergrid/persistence/PerformanceEntityRebuildIndexTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/persistence/PerformanceEntityRebuildIndexTest.java
@@ -23,6 +23,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
+import org.apache.usergrid.corepersistence.index.IndexLocationStrategyFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -37,7 +38,7 @@ import org.apache.usergrid.corepersistence.index.ReIndexRequestBuilder;
import org.apache.usergrid.corepersistence.index.ReIndexService;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
-import org.apache.usergrid.persistence.index.ApplicationEntityIndex;
+import org.apache.usergrid.persistence.index.AliasedEntityIndex;
import org.apache.usergrid.persistence.index.EntityIndexFactory;
import org.apache.usergrid.persistence.model.entity.Id;
import org.apache.usergrid.persistence.model.entity.SimpleId;
@@ -329,11 +330,14 @@ public class PerformanceEntityRebuildIndexTest extends AbstractCoreIT {
private void deleteIndex( UUID appUuid ) {
Injector injector = SpringResource.getInstance().getBean( Injector.class );
+ IndexLocationStrategyFactory indexLocationStrategyFactory = injector.getInstance(IndexLocationStrategyFactory.class);
EntityIndexFactory eif = injector.getInstance( EntityIndexFactory.class );
Id appId = new SimpleId( appUuid, Schema.TYPE_APPLICATION );
ApplicationScope scope = new ApplicationScopeImpl( appId );
- ApplicationEntityIndex ei = eif.createApplicationEntityIndex( scope );
+ AliasedEntityIndex ei = eif.createEntityIndex(
+ indexLocationStrategyFactory.getIndexLocationStrategy(scope)
+ );
ei.deleteApplication().toBlocking().lastOrDefault( null );
app.refreshIndex();
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ebe8e9b/stack/corepersistence/queryindex/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/test/resources/log4j.properties b/stack/corepersistence/queryindex/src/test/resources/log4j.properties
index 5d5f7c2..43b833c 100644
--- a/stack/corepersistence/queryindex/src/test/resources/log4j.properties
+++ b/stack/corepersistence/queryindex/src/test/resources/log4j.properties
@@ -37,7 +37,7 @@ log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) %c{1} - %m%n
#log4j.logger.org.apache.cassandra.service.StorageProxy=DEBUG, stdout
#Debug our queries
-log4j.logger.org.apache.usergrid.persistence.index.impl.EsApplicationEntityIndexImpl=DEBUG
+log4j.logger.org.apache.usergrid.persistence.index.impl.EsEntityIndexImpl=DEBUG
#Debug our writes
#log4j.logger.org.apache.usergrid.persistence.index.impl.EsIndexBufferConsumerImpl=DEBUG
#Batch debugging