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:
parent
ff7df40b20
commit
41d7e3a2fe
|
@ -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]
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue