Skip to content

Commit

Permalink
Expose search.throttled on _cat/indices
Browse files Browse the repository at this point in the history
Today it's very difficult to see which indices are frozen or rather
throttled via the commonly used monitoring APIs. This change adds
a cell to the `_cat/indices` API to render if an index is `search.throttled`

Relates to elastic#34352
  • Loading branch information
s1monw committed Jan 2, 2019
1 parent 35c09ad commit 24a3240
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
21 changes: 21 additions & 0 deletions docs/reference/frozen-indices.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,25 @@ The default value for `pre_filter_shard_size` is `128` but it's recommended to s
significant overhead associated with this pre-filter phase.
================================

== Monitoring frozen indices

Frozen indices are ordinary indices that use search throttling and a memory efficient shard implementation. In order to monitor / filter
frozen indices in APIs like the <<cat-indices>> they must be filtered by their `throttled` property since frozen indices are not a core
concept.

[source,js]
--------------------------------------------------
GET /_cat/indices/twitter?v&h=i,sth
--------------------------------------------------
// CONSOLE
// TEST[s/^/PUT twitter\nPOST twitter\/_freeze\n/]

The response looks like:

[source,txt]
--------------------------------------------------
i sth
twitter true
--------------------------------------------------
// TESTRESPONSE[_cat]

Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.time.DateFormatters;
import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.rest.RestController;
import org.elasticsearch.rest.RestRequest;
import org.elasticsearch.rest.RestResponse;
Expand Down Expand Up @@ -335,6 +336,8 @@ protected Table getTableWithHeader(final RestRequest request) {
table.addCell("memory.total", "sibling:pri;alias:tm,memoryTotal;default:false;text-align:right;desc:total used memory");
table.addCell("pri.memory.total", "default:false;text-align:right;desc:total user memory");

table.addCell("search.throttled", "alias:sth;default:false;desc:indicates if the index is search throttled");

table.endHeaders();
return table;
}
Expand All @@ -357,6 +360,7 @@ Table buildTable(RestRequest request, Index[] indices, ClusterHealthResponse res
IndexStats indexStats = stats.getIndices().get(indexName);
IndexMetaData indexMetaData = indexMetaDatas.getIndices().get(indexName);
IndexMetaData.State state = indexMetaData.getState();
boolean searchThrottled = IndexSettings.INDEX_SEARCH_THROTTLED.get(indexMetaData.getSettings());

if (status != null) {
if (state == IndexMetaData.State.CLOSE ||
Expand Down Expand Up @@ -558,6 +562,8 @@ Table buildTable(RestRequest request, Index[] indices, ClusterHealthResponse res
table.addCell(indexStats == null ? null : indexStats.getTotal().getTotalMemory());
table.addCell(indexStats == null ? null : indexStats.getPrimaries().getTotalMemory());

table.addCell(searchThrottled);

table.endRow();
}

Expand Down

0 comments on commit 24a3240

Please sign in to comment.