Skip to content

Commit fbcc0d9

Browse files
authored
Integrate IO Based AdmissionController to AdmissionControl Framework (opensearch-project#12702)
* Integrate IO Based AdmissionController to AdmissionControl Framework (opensearch-project#12583) --------- Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com> Co-authored-by: Ajay Kumar Movva <movvaam@amazon.com>
1 parent 00d4b71 commit fbcc0d9

File tree

14 files changed

+881
-392
lines changed

14 files changed

+881
-392
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
116116
- Make search query counters dynamic to support all query types ([#12601](https://github.com/opensearch-project/OpenSearch/pull/12601))
117117
- [Tiered caching] Add policies controlling which values can enter pluggable caches [EXPERIMENTAL] ([#12542](https://github.com/opensearch-project/OpenSearch/pull/12542))
118118
- [Tiered caching] Add Stale keys Management and CacheCleaner to IndicesRequestCache ([#12625](https://github.com/opensearch-project/OpenSearch/pull/12625))
119+
- [Admission Control] Integrated IO Based AdmissionController to AdmissionControl Framework ([#12583](https://github.com/opensearch-project/OpenSearch/pull/12583))
119120

120121
### Dependencies
121122
- Bump `peter-evans/find-comment` from 2 to 3 ([#12288](https://github.com/opensearch-project/OpenSearch/pull/12288))

server/src/internalClusterTest/java/org/opensearch/ratelimitting/admissioncontrol/AdmissionControlMultiNodeIT.java

-292
This file was deleted.

server/src/main/java/org/opensearch/common/settings/ClusterSettings.java

+4
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@
140140
import org.opensearch.plugins.PluginsService;
141141
import org.opensearch.ratelimitting.admissioncontrol.AdmissionControlSettings;
142142
import org.opensearch.ratelimitting.admissioncontrol.settings.CpuBasedAdmissionControllerSettings;
143+
import org.opensearch.ratelimitting.admissioncontrol.settings.IoBasedAdmissionControllerSettings;
143144
import org.opensearch.repositories.fs.FsRepository;
144145
import org.opensearch.rest.BaseRestHandler;
145146
import org.opensearch.script.ScriptService;
@@ -708,6 +709,9 @@ public void apply(Settings value, Settings current, Settings previous) {
708709
CpuBasedAdmissionControllerSettings.CPU_BASED_ADMISSION_CONTROLLER_TRANSPORT_LAYER_MODE,
709710
CpuBasedAdmissionControllerSettings.INDEXING_CPU_USAGE_LIMIT,
710711
CpuBasedAdmissionControllerSettings.SEARCH_CPU_USAGE_LIMIT,
712+
IoBasedAdmissionControllerSettings.IO_BASED_ADMISSION_CONTROLLER_TRANSPORT_LAYER_MODE,
713+
IoBasedAdmissionControllerSettings.SEARCH_IO_USAGE_LIMIT,
714+
IoBasedAdmissionControllerSettings.INDEXING_IO_USAGE_LIMIT,
711715
IndicesService.CLUSTER_INDEX_RESTRICT_REPLICATION_TYPE_SETTING,
712716
// Concurrent segment search settings
713717
SearchService.CLUSTER_CONCURRENT_SEGMENT_SEARCH_SETTING,

server/src/main/java/org/opensearch/node/resource/tracker/NodeResourceUsageTracker.java

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
package org.opensearch.node.resource.tracker;
1010

11+
import org.apache.lucene.util.Constants;
1112
import org.opensearch.common.lifecycle.AbstractLifecycleComponent;
1213
import org.opensearch.common.settings.ClusterSettings;
1314
import org.opensearch.common.settings.Settings;
@@ -69,6 +70,9 @@ public IoUsageStats getIoUsageStats() {
6970
* Checks if all of the resource usage trackers are ready
7071
*/
7172
public boolean isReady() {
73+
if (Constants.LINUX) {
74+
return memoryUsageTracker.isReady() && cpuUsageTracker.isReady() && ioUsageTracker.isReady();
75+
}
7276
return memoryUsageTracker.isReady() && cpuUsageTracker.isReady();
7377
}
7478

0 commit comments

Comments
 (0)