private long getIndexSize(){ long indexSize = 0L; final String indexName = indexLocationStrategy.getIndexInitialName(); try { final IndicesStatsResponse statsResponse = esProvider.getClient() .admin() .indices() .prepareStats(indexName) .all() .execute() .actionGet(); final CommonStats indexStats = statsResponse.getIndex(indexName).getTotal(); indexSize = indexStats.getStore().getSizeInBytes(); } catch (IndexMissingException e) { // if for some reason the index size does not exist, // log an error and we can assume size is 0 as it doesn't exist logger.error("Unable to get size for index {} due to IndexMissingException for app {}", indexName, indexLocationStrategy.getApplicationScope().getApplication().getUuid()); } return indexSize; }
public ReplicatedIndexLocationStrategy(IndexLocationStrategy indexLocationStrategy){ rootName = indexLocationStrategy.getIndexRootName(); indexInitialName = indexLocationStrategy.getIndexInitialName(); applicationScope = indexLocationStrategy.getApplicationScope(); numberShards = indexLocationStrategy.getNumberOfShards(); numberReplicas = indexLocationStrategy.getNumberOfReplicas(); alias = new ReplicatedIndexAlias( indexLocationStrategy.getAlias() ); }
@Override public void initialize() { final int numberOfShards = indexLocationStrategy.getNumberOfShards(); final int numberOfReplicas = indexLocationStrategy.getNumberOfReplicas(); aliasCache.invalidate(alias); if (shouldInitialize()) { addIndex( indexLocationStrategy.getIndexInitialName(), numberOfShards, numberOfReplicas, indexFig.getWriteConsistencyLevel() ); } }
new ApplicationIndexBucketLocator(indexProcessorFig) ); names.add(indexLocationStrategyBucket.getIndexInitialName()); new ApplicationScopeImpl(CpNamingUtils.generateApplicationId(UUID.randomUUID())), new ApplicationIndexBucketLocator(indexProcessorFig)); String name = indexLocationStrategyBucket.getIndexInitialName(); assertTrue("failed to match correct name",regex.matcher(name).matches()); names.add(name);
@Test public void managementNaming(){ IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(managementApplicationScope); //check that factory works assertEquals(indexLocationStrategy.getIndexRootName(),managementLocationStrategy.getIndexRootName()); //check that root name is as expected assertEquals(indexLocationStrategy.getIndexRootName(),clusterName + "_" + keyspaceName + "_" + indexProcessorFig.getManagementAppIndexName()); //check bucket name is as expected assertEquals(indexLocationStrategy.getIndexRootName(), indexLocationStrategy.getIndexInitialName()); assertEquals(indexLocationStrategy.getIndexInitialName(),clusterName + "_" + keyspaceName + "_" +indexProcessorFig.getManagementAppIndexName()); }
@Test public void testReplication(){ IndexLocationStrategy indexLocationStrategy = indexLocationStrategyFactory.getIndexLocationStrategy(applicationScope); ReplicatedIndexLocationStrategy replicatedIndexLocationStrategy = new ReplicatedIndexLocationStrategy(indexLocationStrategy); assertEquals(replicatedIndexLocationStrategy.getApplicationScope(),indexLocationStrategy.getApplicationScope()); assertEquals(replicatedIndexLocationStrategy.getIndexInitialName(),indexLocationStrategy.getIndexInitialName()); assertEquals(replicatedIndexLocationStrategy.getIndexRootName(),indexLocationStrategy.getIndexRootName()); assertEquals(replicatedIndexLocationStrategy.getNumberOfReplicas(), indexLocationStrategy.getNumberOfReplicas()); assertEquals(replicatedIndexLocationStrategy.getNumberOfShards(),indexLocationStrategy.getNumberOfShards()); assertEquals(replicatedIndexLocationStrategy.getAlias().getReadAlias(),indexLocationStrategy.getAlias().getReadAlias()); assertEquals(replicatedIndexLocationStrategy.getAlias().getWriteAlias(),indexLocationStrategy.getAlias().getWriteAlias()); }