Skip to content

Commit

Permalink
Integrate IO Based AdmissionController to AdmissionControl Framework (o…
Browse files Browse the repository at this point in the history
…pensearch-project#12583)

* Integrated IO Based AdmissionController to AdmissionControl Framework

Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>

* Integration Tests Fixes to Add Delay for Trackers Update

Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>

* Fixing Integ Test and Removed Multi Node Tests

Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>

* Addressing Comments

Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>

---------

Signed-off-by: Ajay Kumar Movva <movvaam@amazon.com>
Co-authored-by: Ajay Kumar Movva <movvaam@amazon.com>
  • Loading branch information
ajaymovva and Ajay Kumar Movva committed Mar 14, 2024
1 parent da5b205 commit b6b16d8
Show file tree
Hide file tree
Showing 14 changed files with 874 additions and 388 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Remote reindex: Add support for configurable retry mechanism ([#12561](https://github.com/opensearch-project/OpenSearch/pull/12561))
- [Admission Control] Integrate IO Usage Tracker to the Resource Usage Collector Service and Emit IO Usage Stats ([#11880](https://github.com/opensearch-project/OpenSearch/pull/11880))
- Tracing for deep search path ([#12103](https://github.com/opensearch-project/OpenSearch/pull/12103))
- [Admission Control] Integrated IO Based AdmissionController to AdmissionControl Framework ([#12583](https://github.com/opensearch-project/OpenSearch/pull/12583))

### Dependencies
- Bump `log4j-core` from 2.18.0 to 2.19.0
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
import org.opensearch.plugins.PluginsService;
import org.opensearch.ratelimitting.admissioncontrol.AdmissionControlSettings;
import org.opensearch.ratelimitting.admissioncontrol.settings.CpuBasedAdmissionControllerSettings;
import org.opensearch.ratelimitting.admissioncontrol.settings.IoBasedAdmissionControllerSettings;
import org.opensearch.repositories.fs.FsRepository;
import org.opensearch.rest.BaseRestHandler;
import org.opensearch.script.ScriptService;
Expand Down Expand Up @@ -708,6 +709,9 @@ public void apply(Settings value, Settings current, Settings previous) {
CpuBasedAdmissionControllerSettings.CPU_BASED_ADMISSION_CONTROLLER_TRANSPORT_LAYER_MODE,
CpuBasedAdmissionControllerSettings.INDEXING_CPU_USAGE_LIMIT,
CpuBasedAdmissionControllerSettings.SEARCH_CPU_USAGE_LIMIT,
IoBasedAdmissionControllerSettings.IO_BASED_ADMISSION_CONTROLLER_TRANSPORT_LAYER_MODE,
IoBasedAdmissionControllerSettings.SEARCH_IO_USAGE_LIMIT,
IoBasedAdmissionControllerSettings.INDEXING_IO_USAGE_LIMIT,
IndicesService.CLUSTER_INDEX_RESTRICT_REPLICATION_TYPE_SETTING,

// Concurrent segment search settings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

package org.opensearch.node.resource.tracker;

import org.apache.lucene.util.Constants;
import org.opensearch.common.lifecycle.AbstractLifecycleComponent;
import org.opensearch.common.settings.ClusterSettings;
import org.opensearch.common.settings.Settings;
Expand Down Expand Up @@ -69,6 +70,9 @@ public IoUsageStats getIoUsageStats() {
* Checks if all of the resource usage trackers are ready
*/
public boolean isReady() {
if (Constants.LINUX) {
return memoryUsageTracker.isReady() && cpuUsageTracker.isReady() && ioUsageTracker.isReady();
}
return memoryUsageTracker.isReady() && cpuUsageTracker.isReady();
}

Expand Down

0 comments on commit b6b16d8

Please sign in to comment.