tpunder commented on code in PR #1861:
URL: https://github.com/apache/solr/pull/1861#discussion_r1302272877
##########
solr/core/src/java/org/apache/solr/core/QuerySenderListener.java:
##########
@@ -44,65 +53,131 @@ public QuerySenderListener(SolrCore core) {
@Override
public void newSearcher(SolrIndexSearcher newSearcher, SolrIndexSearcher
currentSearcher) {
+ final long startTimeNanos = System.nanoTime();
+
final SolrIndexSearcher searcher = newSearcher;
log.debug("QuerySenderListener sending requests to {}", newSearcher);
@SuppressWarnings("unchecked")
List<NamedList<Object>> allLists =
convertQueriesToList((ArrayList<Object>) getArgs().getAll("queries"));
if (allLists == null) return;
- for (NamedList<Object> nlst : allLists) {
+ final int threads = getThreadsParam();
+
+ if (0 == threads || 1 == threads || allLists.isEmpty()) { // Non-threaded
code path
+ for (NamedList<Object> nlst : allLists) {
+ runQuery(newSearcher, currentSearcher, nlst);
+ }
+ } else { // Multi-threaded code path
+ final int nThreads = threads > 0 ? threads :
Runtime.getRuntime().availableProcessors();
Review Comment:
My intent is that negative numbers will default to using the number of
available processors. However, I originally was not catching `0 == threads` but
later decided that it made more sense to treat `0 == threads` as meaning "no
threading". That behavior seems more consistent with the `facet.threads`
parameter which has the similar behavior for a value of 0 and negative values.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]