You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by mr...@apache.org on 2017/09/13 01:43:15 UTC
usergrid git commit: Handle IndexMissingException when fetching the
index size for an application.
Repository: usergrid
Updated Branches:
refs/heads/master c86052110 -> 41702956d
Handle IndexMissingException when fetching the index size for an application.
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/41702956
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/41702956
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/41702956
Branch: refs/heads/master
Commit: 41702956d5aedac5a8e8d44f8f3df7af5ec365b9
Parents: c860521
Author: Michael Russo <ru...@google.com>
Authored: Tue Sep 12 18:42:43 2017 -0700
Committer: Michael Russo <ru...@google.com>
Committed: Tue Sep 12 18:42:43 2017 -0700
----------------------------------------------------------------------
.../index/impl/EsEntityIndexImpl.java | 29 ++++++++++++++------
1 file changed, 20 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/41702956/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 f4fae2b..3d2f576 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
@@ -70,6 +70,7 @@ import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.*;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.indices.IndexAlreadyExistsException;
+import org.elasticsearch.indices.IndexMissingException;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.aggregations.metrics.sum.Sum;
@@ -804,15 +805,25 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
}
private long getIndexSize(){
- final IndicesStatsResponse statsResponse = esProvider.getClient()
- .admin()
- .indices()
- .prepareStats(indexLocationStrategy.getIndexInitialName())
- .all()
- .execute()
- .actionGet();
- final CommonStats indexStats = statsResponse.getIndex(indexLocationStrategy.getIndexInitialName()).getTotal();
- return indexStats.getStore().getSizeInBytes();
+ 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;
}
@Override