[
https://issues.apache.org/jira/browse/SOLR-18051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18054227#comment-18054227
]
ASF subversion and git services commented on SOLR-18051:
--------------------------------------------------------
Commit a9495354172e362107185eb714796280776636e0 in solr's branch
refs/heads/branch_9x from jvanneman
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=a9495354172 ]
SOLR-18051: HttpJettySolrClient.requestAsync performance/reliability (#3992)
Improve HttpJettySolrClient.requestAsync (used in sharded/distributed-search
and more) to increase throughput and prevent a rare deadlock.
Fix double registration of phaser and semaphore in HttpJettySolrClient, which
had detrimental effects.
(cherry picked from commit 8ec69db53e4bdf6d5872f376647e09ddf70fc659)
> HttpJettySolrClient async requests double register with the phaser/semaphore
> ----------------------------------------------------------------------------
>
> Key: SOLR-18051
> URL: https://issues.apache.org/jira/browse/SOLR-18051
> Project: Solr
> Issue Type: Bug
> Components: SolrCloud
> Affects Versions: 9.10
> Reporter: James Vanneman
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> [PR 2402|https://github.com/apache/solr/pull/2402] added support for
> CompletableFuture which accidentally introduced a double registration bug in
> HttpJettySolrClient by calling onRequestQueued/onComplete twice with
> asyncListener.queuedListener/completeListener
> This introduces three undesirable scenarios:
> # Potential deadlock due to a surge in requests that all acquire 1 permit
> and cannot acquire a second
> # Unnecessary system throttling when a request acquires a single permit but
> can't acquire a second due to in flight requests and new requests that
> arrived after the first token acquisition but before the second.
> # Half the number of permits available
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]