Expose `search.throttled` on `_cat/indices` (#37073)

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 #34352
This commit is contained in:
Simon Willnauer 2019-01-04 13:49:40 +01:00 committed by GitHub
parent ff7df40b20
commit 41d7e3a2fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 0 deletions

View File

@ -64,4 +64,24 @@ 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. For API's like the
`<<cat-indices>>` frozen indicies may identified by an index's `search.throttled` property (`sth`).
[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]

View File

@ -41,6 +41,7 @@ import org.elasticsearch.common.Table;
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;
@ -335,6 +336,8 @@ public class RestIndicesAction extends AbstractCatAction {
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;
}
@ -357,6 +360,7 @@ public class RestIndicesAction extends AbstractCatAction {
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 ||
@ -558,6 +562,8 @@ public class RestIndicesAction extends AbstractCatAction {
table.addCell(indexStats == null ? null : indexStats.getTotal().getTotalMemory());
table.addCell(indexStats == null ? null : indexStats.getPrimaries().getTotalMemory());
table.addCell(searchThrottled);
table.endRow();
}