Skip to content

Commit a8f5297

Browse files
Better throttling logging
1 parent 9e467a1 commit a8f5297

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

server/src/main/java/org/elasticsearch/index/engine/InternalEngine.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2828,12 +2828,24 @@ protected ElasticsearchMergeScheduler createMergeScheduler(ShardId shardId, Inde
28282828
return new ThreadPoolMergeScheduler(shardId, indexSettings, engineConfig.getThreadPool()) {
28292829

28302830
@Override
2831-
protected synchronized void activateThrottling(int numActiveMerges) {
2831+
protected synchronized void activateThrottling(int numRunningMerges, int numQueuedMerges, int configuredMaxMergeCount) {
2832+
logger.info(
2833+
"now throttling indexing: numRunningMerges={}, numQueuedMerges={}, maxNumMergesConfigured={}",
2834+
numRunningMerges,
2835+
numQueuedMerges,
2836+
configuredMaxMergeCount
2837+
);
28322838
InternalEngine.this.activateThrottling();
28332839
}
28342840

28352841
@Override
2836-
protected synchronized void deactivateThrottling(int numActiveMerges) {
2842+
protected synchronized void deactivateThrottling(int numRunningMerges, int numQueuedMerges, int configuredMaxMergeCount) {
2843+
logger.info(
2844+
"stop throttling indexing: numRunningMerges={}, numQueuedMerges={}, maxNumMergesConfigured={}",
2845+
numRunningMerges,
2846+
numQueuedMerges,
2847+
configuredMaxMergeCount
2848+
);
28372849
InternalEngine.this.deactivateThrottling();
28382850
}
28392851

server/src/main/java/org/elasticsearch/index/engine/ThreadPoolMergeScheduler.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,9 @@ protected void beforeMerge(OnGoingMerge merge) {}
122122
*/
123123
protected void afterMerge(OnGoingMerge merge) {}
124124

125-
protected void activateThrottling(int numActiveMerges) {}
125+
protected void activateThrottling(int numRunningMerges, int numQueuedMerges, int configuredMaxMergeCount) {}
126126

127-
protected void deactivateThrottling(int numActiveMerges) {}
128-
129-
public int getMaxMergeCount() {
130-
return config.getMaxMergeCount();
131-
}
127+
protected void deactivateThrottling(int numRunningMerges, int numQueuedMerges, int configuredMaxMergeCount) {}
132128

133129
@Override
134130
public MergeScheduler clone() {
@@ -178,18 +174,22 @@ private void maybeExecuteNextMerge() {
178174
}
179175

180176
private void maybeActivateThrottling() {
177+
int numRunningMerges = activeMergeTasksExecutingOnLocalSchedulerList.size();
178+
int numQueuedMerges = activeMergeTasksLocalSchedulerQueue.size();
179+
int configuredMaxMergeCount = config.getMaxMergeCount();
181180
// both currently running and enqueued count as "active" for throttling purposes
182-
int numActiveMerges = activeMergeTasksExecutingOnLocalSchedulerList.size() + activeMergeTasksLocalSchedulerQueue.size();
183-
if (numActiveMerges > config.getMaxMergeCount() && isThrottling.getAndSet(true) == false) {
184-
activateThrottling(numActiveMerges);
181+
if (numRunningMerges + numQueuedMerges > configuredMaxMergeCount && isThrottling.getAndSet(true) == false) {
182+
activateThrottling(numRunningMerges, numQueuedMerges, configuredMaxMergeCount);
185183
}
186184
}
187185

188186
private void maybeDeactivateThrottling() {
187+
int numRunningMerges = activeMergeTasksExecutingOnLocalSchedulerList.size();
188+
int numQueuedMerges = activeMergeTasksLocalSchedulerQueue.size();
189+
int configuredMaxMergeCount = config.getMaxMergeCount();
189190
// both currently running and enqueued count as "active" for throttling purposes
190-
int numActiveMerges = activeMergeTasksExecutingOnLocalSchedulerList.size() + activeMergeTasksLocalSchedulerQueue.size();
191-
if (numActiveMerges <= config.getMaxMergeCount() && isThrottling.getAndSet(false)) {
192-
deactivateThrottling(numActiveMerges);
191+
if (numRunningMerges + numQueuedMerges <= configuredMaxMergeCount && isThrottling.getAndSet(false)) {
192+
deactivateThrottling(numRunningMerges, numQueuedMerges, configuredMaxMergeCount);
193193
}
194194
}
195195

0 commit comments

Comments
 (0)