Skip to content

Commit 3970ec4

Browse files
authored
Integrate IO Based AdmissionController to AdmissionControl Framework (#12583) (#12659)
Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>
1 parent 94fad2c commit 3970ec4

File tree

14 files changed

+875
-389
lines changed

14 files changed

+875
-389
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1919
- The org.opensearch.bootstrap.Security should support codebase for JAR files with classifiers ([#12586](https://github.com/opensearch-project/OpenSearch/issues/12586))
2020
- Remote reindex: Add support for configurable retry mechanism ([#12561](https://github.com/opensearch-project/OpenSearch/pull/12561))
2121
- Tracing for deep search path ([#12103](https://github.com/opensearch-project/OpenSearch/pull/12103))
22+
- [Admission Control] Integrated IO Based AdmissionController to AdmissionControl Framework ([#12583](https://github.com/opensearch-project/OpenSearch/pull/12583))
2223

2324
### Dependencies
2425
- Bump `com.squareup.okio:okio` from 3.7.0 to 3.8.0 ([#12290](https://github.com/opensearch-project/OpenSearch/pull/12290))

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@
139139
import org.opensearch.plugins.PluginsService;
140140
import org.opensearch.ratelimitting.admissioncontrol.AdmissionControlSettings;
141141
import org.opensearch.ratelimitting.admissioncontrol.settings.CpuBasedAdmissionControllerSettings;
142+
import org.opensearch.ratelimitting.admissioncontrol.settings.IoBasedAdmissionControllerSettings;
142143
import org.opensearch.repositories.fs.FsRepository;
143144
import org.opensearch.rest.BaseRestHandler;
144145
import org.opensearch.script.ScriptService;
@@ -712,7 +713,10 @@ public void apply(Settings value, Settings current, Settings previous) {
712713
AdmissionControlSettings.ADMISSION_CONTROL_TRANSPORT_LAYER_MODE,
713714
CpuBasedAdmissionControllerSettings.CPU_BASED_ADMISSION_CONTROLLER_TRANSPORT_LAYER_MODE,
714715
CpuBasedAdmissionControllerSettings.INDEXING_CPU_USAGE_LIMIT,
715-
CpuBasedAdmissionControllerSettings.SEARCH_CPU_USAGE_LIMIT
716+
CpuBasedAdmissionControllerSettings.SEARCH_CPU_USAGE_LIMIT,
717+
IoBasedAdmissionControllerSettings.IO_BASED_ADMISSION_CONTROLLER_TRANSPORT_LAYER_MODE,
718+
IoBasedAdmissionControllerSettings.SEARCH_IO_USAGE_LIMIT,
719+
IoBasedAdmissionControllerSettings.INDEXING_IO_USAGE_LIMIT
716720
)
717721
)
718722
);

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)