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/11 22:02:46 UTC
[5/5] incubator-usergrid git commit: add bucket strategy
add bucket 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/fb33e946
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/fb33e946
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/fb33e946
Branch: refs/heads/USERGRID-739
Commit: fb33e94618fb7641b2c3dc8379cef8e0f825cfb7
Parents: effa5d5
Author: Shawn Feldman <sf...@apache.org>
Authored: Thu Jun 11 14:02:17 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Thu Jun 11 14:02:17 2015 -0600
----------------------------------------------------------------------
.../usergrid/corepersistence/CoreModule.java | 1 +
.../index/ApplicationIndexBucketLocator.java | 67 ++++++++++++++++++++
.../index/ApplicationIndexLocationStrategy.java | 44 ++++++++-----
.../corepersistence/index/CoreIndexFig.java | 9 +++
.../index/ManagementIndexLocationStrategy.java | 2 +-
.../corepersistence/index/IndexNamingTest.java | 12 ++--
.../usergrid/persistence/index/EntityIndex.java | 2 +-
.../index/IndexLocationStrategy.java | 2 +-
.../index/impl/EsEntityIndexBatchImpl.java | 12 ++--
.../index/impl/EsEntityIndexImpl.java | 14 ++--
.../index/impl/TestIndexIdentifier.java | 2 +-
11 files changed, 127 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
index 8d98ae2..f419d5a 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java
@@ -135,6 +135,7 @@ public class CoreModule extends AbstractModule {
//bind the event handlers
bind( EventBuilder.class).to( EventBuilderImpl.class );
+ bind(ApplicationIndexBucketLocator.class);
//bind the queue provider
bind( AsyncEventService.class ).toProvider( AsyncIndexProvider.class );
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexBucketLocator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexBucketLocator.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexBucketLocator.java
new file mode 100644
index 0000000..1f54e75
--- /dev/null
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexBucketLocator.java
@@ -0,0 +1,67 @@
+/*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one or more
+ * * contributor license agreements. The ASF licenses this file to You
+ * * under the Apache License, Version 2.0 (the "License"); you may not
+ * * use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License. For additional information regarding
+ * * copyright in this work, please see the NOTICE file in the top level
+ * * directory of this distribution.
+ *
+ */
+package org.apache.usergrid.corepersistence.index;
+
+import com.google.common.hash.Funnel;
+import com.google.common.hash.PrimitiveSink;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.apache.usergrid.persistence.core.scope.ApplicationScope;
+import org.apache.usergrid.persistence.core.shard.ExpandingShardLocator;
+import org.apache.usergrid.persistence.core.shard.StringHashUtils;
+
+/**
+ * Strategy for getting index buckets, needs to be held in memory
+ */
+@Singleton
+public class ApplicationIndexBucketLocator{
+
+ /**
+ * Number of buckets to hash across.
+ */
+ private final int[] numberOfBuckets ;
+ /**
+ * How to funnel keys for buckets
+ */
+ private final Funnel<String> mapKeyFunnel;
+ /**
+ * Locator to get us all buckets
+ */
+ private final ExpandingShardLocator<String> bucketLocator ;
+ /**
+ * Startseed for buckets
+ */
+ private final int indexBucketSeed;
+
+ private final CoreIndexFig indexFig;
+
+ @Inject
+ public ApplicationIndexBucketLocator(CoreIndexFig indexFig){
+ this.indexFig = indexFig;
+ numberOfBuckets = new int[indexFig.getNumberOfIndexBuckets()];
+ mapKeyFunnel = (key, into) -> into.putString( key, StringHashUtils.UTF8 );
+ indexBucketSeed = indexFig.getBucketSeed();
+ bucketLocator = new ExpandingShardLocator<>(mapKeyFunnel, numberOfBuckets);
+ }
+
+ public int getBucket(ApplicationScope applicationScope){
+ return indexBucketSeed + bucketLocator.getCurrentBucket(applicationScope.getApplication().getUuid().toString());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexLocationStrategy.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexLocationStrategy.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexLocationStrategy.java
index 8665b08..0c8a720 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexLocationStrategy.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ApplicationIndexLocationStrategy.java
@@ -19,8 +19,12 @@
*/
package org.apache.usergrid.corepersistence.index;
+import com.google.common.hash.Funnel;
+import com.google.common.hash.PrimitiveSink;
import org.apache.usergrid.persistence.core.astyanax.CassandraFig;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
+import org.apache.usergrid.persistence.core.shard.ExpandingShardLocator;
+import org.apache.usergrid.persistence.core.shard.StringHashUtils;
import org.apache.usergrid.persistence.index.IndexAlias;
import org.apache.usergrid.persistence.index.IndexFig;
import org.apache.usergrid.persistence.index.IndexLocationStrategy;
@@ -33,32 +37,24 @@ class ApplicationIndexLocationStrategy implements IndexLocationStrategy {
private final CassandraFig cassandraFig;
private final IndexFig indexFig;
private final ApplicationScope applicationScope;
+ private final ApplicationIndexBucketLocator applicationIndexBucketLocator;
private final String indexName;
private final IndexAlias alias;
public ApplicationIndexLocationStrategy(final CassandraFig cassandraFig,
final IndexFig indexFig,
- final ApplicationScope applicationScope){
+ final ApplicationScope applicationScope,
+ final ApplicationIndexBucketLocator applicationIndexBucketLocator){
this.cassandraFig = cassandraFig;
this.indexFig = indexFig;
this.applicationScope = applicationScope;
- this.indexName = getPrefix(); //TODO: add hash buckets by app scope
- this.alias = new ApplicationIndexAlias(indexFig, applicationScope, indexName);
+ this.applicationIndexBucketLocator = applicationIndexBucketLocator;
+ String prefix = getPrefix(); //TODO: add hash buckets by app scope
+ this.alias = new ApplicationIndexAlias(indexFig, applicationScope, prefix);
+ this.indexName = prefix + "_" + applicationIndexBucketLocator.getBucket(applicationScope);
}
- private String getPrefix() {
- //remove usergrid
- final String indexPrefixConfig = StringUtils.isNotEmpty(indexFig.getIndexPrefix())
- ? indexFig.getIndexPrefix().toLowerCase() ////use lowercase value
- : ""; // default to something so its not null
- final String keyspaceName = cassandraFig.getApplicationKeyspace().toLowerCase();
- //check for repetition
- final boolean removePrefix = indexPrefixConfig.length()==0 || keyspaceName.contains(indexPrefixConfig) ;
- return !removePrefix
- ? indexPrefixConfig + "_" + keyspaceName
- : keyspaceName;
- }
/**
* Get the alias name
@@ -76,7 +72,7 @@ class ApplicationIndexLocationStrategy implements IndexLocationStrategy {
* @return
*/
@Override
- public String getIndex() {
+ public String getInitialIndexName() {
return indexName;
}
@@ -120,6 +116,20 @@ class ApplicationIndexLocationStrategy implements IndexLocationStrategy {
return result;
}
+ private String getPrefix() {
+ //remove usergrid
+ final String indexPrefixConfig = StringUtils.isNotEmpty(indexFig.getIndexPrefix())
+ ? indexFig.getIndexPrefix().toLowerCase() ////use lowercase value
+ : ""; // default to something so its not null
+ final String keyspaceName = cassandraFig.getApplicationKeyspace().toLowerCase();
+ //check for repetition
+ final boolean removePrefix = indexPrefixConfig.length()==0 || keyspaceName.contains(indexPrefixConfig) ;
+ return !removePrefix
+ ? indexPrefixConfig + "_" + keyspaceName
+ : keyspaceName;
+ }
+
+
public class ApplicationIndexAlias implements IndexAlias {
private final String readAlias;
@@ -143,4 +153,6 @@ class ApplicationIndexLocationStrategy implements IndexLocationStrategy {
return writeAlias;
}
}
+
+
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/CoreIndexFig.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/CoreIndexFig.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/CoreIndexFig.java
index f6dadfb..e31a39b 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/CoreIndexFig.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/CoreIndexFig.java
@@ -43,4 +43,13 @@ public interface CoreIndexFig extends GuicyFig {
@Default( "usergrid_management" )
@Key( "elasticsearch.managment_index" )
String getManagementAppIndexName();
+
+ @Default( "5" )
+ @Key( "elasticsearch.index_bucket_count" )
+ int getNumberOfIndexBuckets();
+
+
+ @Default( "0" )
+ @Key( "elasticsearch.index_bucket_seed" )
+ int getBucketSeed();
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ManagementIndexLocationStrategy.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ManagementIndexLocationStrategy.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ManagementIndexLocationStrategy.java
index 962605e..5437bc0 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ManagementIndexLocationStrategy.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ManagementIndexLocationStrategy.java
@@ -52,7 +52,7 @@ class ManagementIndexLocationStrategy implements IndexLocationStrategy {
}
@Override
- public String getIndex() {
+ public String getInitialIndexName() {
return indexName;
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexNamingTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexNamingTest.java b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexNamingTest.java
index ec49c79..094a0c2 100644
--- a/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexNamingTest.java
+++ b/stack/core/src/test/java/org/apache/usergrid/corepersistence/index/IndexNamingTest.java
@@ -25,12 +25,10 @@ import org.apache.usergrid.corepersistence.TestIndexModule;
import org.apache.usergrid.corepersistence.util.CpNamingUtils;
import org.apache.usergrid.persistence.core.astyanax.CassandraFig;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
-import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
import org.apache.usergrid.persistence.core.test.UseModules;
import org.apache.usergrid.persistence.index.IndexFig;
import org.apache.usergrid.persistence.index.IndexLocationStrategy;
import org.apache.usergrid.persistence.index.impl.EsRunner;
-import org.apache.usergrid.persistence.model.entity.SimpleId;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -76,17 +74,17 @@ public class IndexNamingTest {
@Test
public void managementNaming(){
IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(managementApplicationScope);
- assertEquals(indexLocationStrategy.getIndex(),managementLocationStrategy.getIndex());
- assertEquals(indexLocationStrategy.getIndex(),indexProcessorFig.getManagementAppIndexName());
+ assertEquals(indexLocationStrategy.getInitialIndexName(),managementLocationStrategy.getInitialIndexName());
+ assertEquals(indexLocationStrategy.getInitialIndexName(),indexProcessorFig.getManagementAppIndexName());
}
@Test
public void applicationNaming(){
IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope);
- assertEquals(indexLocationStrategy.getIndex(),applicationLocationStrategy.getIndex());
+ assertEquals(indexLocationStrategy.getInitialIndexName(),applicationLocationStrategy.getInitialIndexName());
- assertTrue(indexLocationStrategy.getIndex().contains(indexFig.getIndexPrefix()));
- assertTrue(indexLocationStrategy.getIndex().contains(cassandraFig.getApplicationKeyspace().toLowerCase()));
+ assertTrue(indexLocationStrategy.getInitialIndexName().contains(indexFig.getIndexPrefix()));
+ assertTrue(indexLocationStrategy.getInitialIndexName().contains(cassandraFig.getApplicationKeyspace().toLowerCase()));
assertTrue(indexLocationStrategy.getAlias().getReadAlias().contains(applicationScope.getApplication().getUuid().toString().toLowerCase()));
assertTrue(indexLocationStrategy.getAlias().getWriteAlias().contains(applicationScope.getApplication().getUuid().toString().toLowerCase()));
assertTrue(indexLocationStrategy.getAlias().getWriteAlias().contains("write"));
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/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 e4b1d13..282d162 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
@@ -121,7 +121,7 @@ public interface EntityIndex extends CPManager {
* get all unique indexes
* @return
*/
- String[] getUniqueIndexes();
+ String[] getIndexes();
/**
* Add alias to index, will remove old index from write alias
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexLocationStrategy.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexLocationStrategy.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexLocationStrategy.java
index edfcaec..0f2dc0c 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexLocationStrategy.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexLocationStrategy.java
@@ -34,7 +34,7 @@ public interface IndexLocationStrategy {
* get index name from suffix
* @return
*/
- String getIndex( );
+ String getInitialIndexName();
/**
* return unique string
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
index fce973b..87b2368 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
@@ -40,7 +40,7 @@ public class EsEntityIndexBatchImpl implements EntityIndexBatch {
private final IndexAlias alias;
- private final IndexLocationStrategy indexIdentifier;
+ private final IndexLocationStrategy indexLocationStrategy;
private final IndexBufferConsumer indexBatchBufferProducer;
private final EntityIndex entityIndex;
@@ -52,13 +52,13 @@ public class EsEntityIndexBatchImpl implements EntityIndexBatch {
final IndexBufferConsumer indexBatchBufferProducer,
final EntityIndex entityIndex
) {
- this.indexIdentifier = locationStrategy;
+ this.indexLocationStrategy = locationStrategy;
this.indexBatchBufferProducer = indexBatchBufferProducer;
this.entityIndex = entityIndex;
- this.applicationScope = indexIdentifier.getApplicationScope();
+ this.applicationScope = indexLocationStrategy.getApplicationScope();
- this.alias = indexIdentifier.getAlias();
+ this.alias = indexLocationStrategy.getAlias();
//constrained
this.container = new IndexOperationMessage();
}
@@ -90,10 +90,10 @@ public class EsEntityIndexBatchImpl implements EntityIndexBatch {
ValidationUtils.verifyIdentity( id );
ValidationUtils.verifyVersion( version );
- String[] indexes = entityIndex.getUniqueIndexes();
+ String[] indexes = entityIndex.getIndexes();
//get the default index if no alias exists yet
if ( indexes == null || indexes.length == 0 ) {
- indexes = new String[] { indexIdentifier.getIndex( ) };
+ throw new IllegalStateException("No indexes exist for " + indexLocationStrategy.getAlias().getWriteAlias());
}
if ( log.isDebugEnabled() ) {
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/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 17dcc9a..a31c62b 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
@@ -27,7 +27,6 @@ import com.google.common.io.Resources;
import com.google.inject.Inject;
import com.google.inject.Singleton;
-import com.google.inject.assistedinject.Assisted;
import org.apache.usergrid.persistence.core.metrics.MetricsFactory;
import org.apache.usergrid.persistence.core.migration.data.VersionedData;
import org.apache.usergrid.persistence.core.scope.ApplicationScope;
@@ -174,7 +173,7 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
public void addIndex(final com.google.common.base.Optional<String> indexNameOverride, final int numberOfShards, final int numberOfReplicas, final String writeConsistency) {
try {
//get index name with suffix attached
- final String indexName = indexNameOverride.or(indexLocationStrategy.getIndex()) ;
+ final String indexName = indexNameOverride.or(indexLocationStrategy.getInitialIndexName()) ;
//Create index
try {
@@ -233,7 +232,7 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
Timer.Context timer = updateAliasTimer.time();
try {
Boolean isAck;
- String indexName = indexLocationStrategy.getIndex();
+ String indexName = indexLocationStrategy.getInitialIndexName();
final AdminClient adminClient = esProvider.getClient().admin();
String[] indexNames = getIndexes(AliasType.Write);
@@ -356,12 +355,12 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
public Observable<IndexRefreshCommand.IndexRefreshCommandInfo> refreshAsync() {
refreshIndexMeter.mark();
- return indexRefreshCommand.execute(alias,getUniqueIndexes());
+ return indexRefreshCommand.execute(alias, getIndexes());
}
- public String[] getUniqueIndexes() {
+ public String[] getIndexes() {
Set<String> indexSet = new HashSet<>();
List<String> reads = Arrays.asList(getIndexes(AliasType.Read));
List<String> writes = Arrays.asList(getIndexes(AliasType.Write));
@@ -569,7 +568,7 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
public Observable deleteApplication() {
String idString = applicationId( applicationScope.getApplication() );
final TermQueryBuilder tqb = QueryBuilders.termQuery(APPLICATION_ID_FIELDNAME, idString);
- final String[] indexes = getUniqueIndexes();
+ final String[] indexes = getIndexes();
//Added For Graphite Metrics
return Observable.from( indexes ).flatMap( index -> {
@@ -714,8 +713,9 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
public Health getIndexHealth() {
try {
+ String[] indexNames = this.getIndexes();
final ActionFuture<ClusterHealthResponse> future = esProvider.getClient().admin().cluster().health(
- new ClusterHealthRequest( new String[] { indexLocationStrategy.getIndex( ) } ) );
+ new ClusterHealthRequest( indexNames ) );
//only wait 2 seconds max
ClusterHealthResponse chr = future.actionGet(2000);
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb33e946/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/TestIndexIdentifier.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/TestIndexIdentifier.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/TestIndexIdentifier.java
index 39f6da0..5d4d3ae 100644
--- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/TestIndexIdentifier.java
+++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/TestIndexIdentifier.java
@@ -71,7 +71,7 @@ public class TestIndexIdentifier implements IndexLocationStrategy {
* @return
*/
@Override
- public String getIndex() {
+ public String getInitialIndexName() {
return prefix;