Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOLR-17673: Disable multithreaded search at the node level by default #3183

Merged
Merged
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
4 changes: 4 additions & 0 deletions solr/CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,10 @@ Bug Fixes
* SOLR-17630: Added a node-wide CloudSolrClient to ZkController, and accessible via SolrCloudManager too.
Uses Jetty HttpClient. Deprecated CloudSolrClient.getSolrClientCache. Redirected some callers. (David Smiley)

* SOLR-17673: Disable multi-threaded search execution by default at the node-level.
Users can still opt-in by providing a "indexSearcherExecutorThreads" > 0.
(Houston Putman, Varun Thacker, David Smiley, Luke Kot-Zaniewski)

Dependency Upgrades
---------------------
* SOLR-17471: Upgrade Lucene to 9.12.1. (Pierre Salagnac, Christine Poerschke)
Expand Down
3 changes: 1 addition & 2 deletions solr/core/src/java/org/apache/solr/core/NodeConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -627,8 +627,7 @@ public static class NodeConfigBuilder {
// No:of core load threads in cloud mode is set to a default of 8
public static final int DEFAULT_CORE_LOAD_THREADS_IN_CLOUD = 8;

public static final int DEFAULT_INDEX_SEARCHER_EXECUTOR_THREADS =
Runtime.getRuntime().availableProcessors();
public static final int DEFAULT_INDEX_SEARCHER_EXECUTOR_THREADS = 0;

private static final String DEFAULT_CORESLOCATORCLASS =
"org.apache.solr.core.CorePropertiesLocator";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ It is always strongly recommended that you fully reindex your documents after a
In Solr 8, it was possible to add docValues to a schema without re-indexing via `UninvertDocValuesMergePolicy`, an advanced/expert utility.
Due to changes in Lucene 9, that isn't possible any more.

== Solr 9.8.1
=== Configuration
In solrconfig.xml, the `indexSearcherExecutorThreads` now defaults to 0.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No; in solr.xml.

I wish this had a default using an EnvUtils read so we needn't edit a config file to manipulate it. Env vars are more convenient for random/standalone toggles/configurables.

Therefore, multi-threaded search execution is disabled at a node-level by default.
It is currently recommended to only use an `indexSearcherExecutorThreads > 0` if all query requests sent to Solr opt-in to multiThreaded search.

== Solr 9.8
=== Configuration
In solrconfig.xml, the `numVersionBuckets` and `versionBucketLockTimeoutMs` settings are now obsolete and ignored; a warning will be logged if specified.
Expand Down
Loading