Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,12 @@ private static String getDefaultMaxThreadCount(Settings settings) {
// If MAX_MERGE_COUNT_SETTING is set - return the absolute default for MAX_THREAD_COUNT_SETTING
// If MAX_MERGE_COUNT_SETTING is NOT set - return the cluster default
// On first invocation, MAX_MERGE_COUNT_SETTING would not have been initialized, hence the null check
logger.info(
"MAX_MERGE_COUNT_SETTING null: {}, exists: {}, clusterMaxThreadCountDefault null: {}",
(MAX_MERGE_COUNT_SETTING == null),
(MAX_MERGE_COUNT_SETTING != null && MAX_MERGE_COUNT_SETTING.exists(settings)),
(clusterMaxThreadCountDefault == null)
);
if (MAX_MERGE_COUNT_SETTING == null || MAX_MERGE_COUNT_SETTING.exists(settings) == true || clusterMaxThreadCountDefault == null) {
return ClusterMergeSchedulerConfig.getClusterMaxThreadCountDefault(settings);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

package org.opensearch.indices;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.opensearch.cluster.service.ClusterService;
import org.opensearch.common.annotation.ExperimentalApi;
import org.opensearch.common.settings.Setting;
Expand Down Expand Up @@ -176,7 +178,18 @@ public Boolean getClusterMergeAutoThrottleEnabled() {
* Default value for {@code CLUSTER_DEFAULT_MAX_THREAD_COUNT_SETTING}
*/
public static String getClusterMaxThreadCountDefault(Settings settings) {
Logger logger;
logger = LogManager.getLogger(ClusterMergeSchedulerConfig.class);
logger.info(
"getClusterMaxthreadCountDefault called."
+ (NODE_PROCESSORS_SETTING.exists(settings) == true)
+ " | "
+ (clusterMaxThreadCountDefault == null)
);
if (NODE_PROCESSORS_SETTING.exists(settings) || clusterMaxThreadCountDefault == null) {
logger.info(
Thread.currentThread().getName() + " | getClusterMaxthreadCountDefault NPSETTING: " + NODE_PROCESSORS_SETTING.get(settings)
);
clusterMaxThreadCountDefault = Integer.toString(
Math.max(1, Math.min(4, OpenSearchExecutors.allocatedProcessors(settings) / 2))
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,14 @@ public void testMaxThreadAndMergeCount() {
assertThat(exc.getMessage(), containsString("maxThreadCount (= 10) should be <= maxMergeCount (= 4)"));

IndexSettings settings = new IndexSettings(createMetadata(-1, -1, 2), Settings.EMPTY);
logger.info("MAX_MERGE_COUNT: " + settings.getMergeSchedulerConfig().getMaxMergeCount());
logger.info("MAX_THREAD_COUNT: " + settings.getMergeSchedulerConfig().getMaxThreadCount());
assertTrue(NODE_PROCESSORS_SETTING.exists(settings.getSettings()));
assertEquals(
"NODE_PROCESSORS_SETTING expected to be 2, found " + NODE_PROCESSORS_SETTING.get(settings.getSettings()),
2,
(int) NODE_PROCESSORS_SETTING.get(settings.getSettings())
);
assertEquals(1, settings.getMergeSchedulerConfig().getMaxThreadCount());
assertEquals(6, settings.getMergeSchedulerConfig().getMaxMergeCount());

Expand Down
Loading