This is an automated email from the ASF dual-hosted git repository.
cpoerschke pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new 5ec0571dd8b SOLR-17631: Lucene's
ConcurrentMergeScheduler.autoIOThrottle default changed (#3459)
5ec0571dd8b is described below
commit 5ec0571dd8bbd67c960a2f40b561978914e34498
Author: Christine Poerschke <[email protected]>
AuthorDate: Wed Aug 20 17:49:21 2025 +0100
SOLR-17631: Lucene's ConcurrentMergeScheduler.autoIOThrottle default
changed (#3459)
---
solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java | 4 ++--
.../solr/collection1/conf/solrconfig-concurrentmergescheduler.xml | 2 +-
solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java | 2 +-
.../modules/configuration-guide/pages/index-segments-merging.adoc | 2 +-
.../modules/upgrade-notes/pages/major-changes-in-solr-10.adoc | 2 ++
5 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
index 94c5e63aa37..2842c5acb2e 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
@@ -340,8 +340,8 @@ public class SolrIndexConfig implements MapSerializable {
((ConcurrentMergeScheduler) scheduler)
.setMaxMergesAndThreads(maxMergeCount, maxThreadCount);
Boolean ioThrottle = (Boolean) args.remove("ioThrottle");
- if (ioThrottle != null && !ioThrottle) { // by-default 'enabled'
- ((ConcurrentMergeScheduler) scheduler).disableAutoIOThrottle();
+ if (ioThrottle != null && ioThrottle) { // by-default 'disabled'
+ ((ConcurrentMergeScheduler) scheduler).enableAutoIOThrottle();
}
SolrPluginUtils.invokeSetters(scheduler, args);
} else {
diff --git
a/solr/core/src/test-files/solr/collection1/conf/solrconfig-concurrentmergescheduler.xml
b/solr/core/src/test-files/solr/collection1/conf/solrconfig-concurrentmergescheduler.xml
index 3c7c7959ed0..5ea753f41f2 100644
---
a/solr/core/src/test-files/solr/collection1/conf/solrconfig-concurrentmergescheduler.xml
+++
b/solr/core/src/test-files/solr/collection1/conf/solrconfig-concurrentmergescheduler.xml
@@ -28,7 +28,7 @@
<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler">
<int name="maxMergeCount">987</int>
<int name="maxThreadCount">42</int>
- <bool name="ioThrottle">false</bool>
+ <bool name="ioThrottle">true</bool>
</mergeScheduler>
</indexConfig>
diff --git a/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
b/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
index 66f623ed678..066be8e04f5 100644
--- a/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
+++ b/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
@@ -139,7 +139,7 @@ public class SolrIndexConfigTest extends SolrTestCaseJ4 {
ConcurrentMergeScheduler ms = (ConcurrentMergeScheduler)
iwc.getMergeScheduler();
assertEquals("ms.maxMergeCount", 987, ms.getMaxMergeCount());
assertEquals("ms.maxThreadCount", 42, ms.getMaxThreadCount());
- assertFalse("ms.isAutoIOThrottle", ms.getAutoIOThrottle());
+ assertTrue("ms.isAutoIOThrottle", ms.getAutoIOThrottle());
}
public void testSortingMPSolrIndexConfigCreation() throws Exception {
diff --git
a/solr/solr-ref-guide/modules/configuration-guide/pages/index-segments-merging.adoc
b/solr/solr-ref-guide/modules/configuration-guide/pages/index-segments-merging.adoc
index 165fc021984..5a917887ba5 100644
---
a/solr/solr-ref-guide/modules/configuration-guide/pages/index-segments-merging.adoc
+++
b/solr/solr-ref-guide/modules/configuration-guide/pages/index-segments-merging.adoc
@@ -221,7 +221,7 @@ This must be less than `maxMergeCount`.
|===
+
A Boolean value (`true` or `false`) to explicitly control I/O throttling.
-By default throttling is enabled and the CMS will limit I/O throughput when
merging to leave other (search, indexing) some room.
+By default throttling is disabled and the CMS will not limit I/O throughput
when merging to leave other (search, indexing) some room.
.Example: Dynamic defaults
[source,xml]
diff --git
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
index 21d36eb73a8..d63fd5007ef 100644
---
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
+++
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
@@ -117,6 +117,8 @@ Nowadays, the HTTP request is available via internal APIs:
`SolrQueryRequest.get
* PreAnalyzedField and PreAnalyzedUpdateProcessor have been removed due to
incompatibility with Lucene 10 (SOLR-17839).
+* The ConcurrentMergeScheduler's autoIOThrottle default changed to `false` but
`true` may be configured to retain prior behaviour. (SOLR-17631).
+
* BlobHandler and the `.system` collection have been removed in favour of
FileStore API. (SOLR-17851).