[ 
https://issues.apache.org/jira/browse/SOLR-18051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Vanneman updated SOLR-18051:
----------------------------------
    Description: 
[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 

  was:
[PR 2402|https://github.com/apache/solr/pull/2402] added support for 
CompletedFutures 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 


> 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
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: SolrCloud
>    Affects Versions: 9.10
>            Reporter: James Vanneman
>            Priority: Minor
>
> [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]

Reply via email to