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

David Smiley updated SOLR-14763:
--------------------------------
    Description: 
In SOLR-14354, [~caomanhdat] created an API to use Jetty async API to make more 
thread efficient HttpShardHandler requests. This added public async request 
APIs to Http2SolrClient and LBHttp2SolrClient. There are a few ways this API 
can be improved, that I will track in this issue:

1) Using a CompletableFuture-based async API signature, instead of using 
internal custom interfaces (Cancellable, AsyncListener) - based on [this 
discussion|https://lists.apache.org/thread.html/r548f318d9176c84ad1a4ed49ff182eeea9f82f26cb23e372244c8a23%40%3Cdev.lucene.apache.org%3E].

---
The below was removed from the scope of what was delivered in 9.6; a linked 
JIRA will address it.

2) An async API is also useful in other HTTP/2 Solr clients as well, 
particularly CloudHttp2SolrClient (SOLR-14675). I will add a requestAsync 
method to the SolrClient class, with a default method that initially throws an 
unsupported operation exception (maybe this can be later updated to use an 
executor to handle the async request as a default impl). For now, I'll override 
the default implementation in the Http2SolrClient and CloudHttp2SolrClient.

  was:
In SOLR-14354, [~caomanhdat] created an API to use Jetty async API to make more 
thread efficient HttpShardHandler requests. This added public async request 
APIs to Http2SolrClient and LBHttp2SolrClient. There are a few ways this API 
can be improved, that I will track in this issue:

1) Using a CompletableFuture-based async API signature, instead of using 
internal custom interfaces (Cancellable, AsyncListener) - based on [this 
discussion|https://lists.apache.org/thread.html/r548f318d9176c84ad1a4ed49ff182eeea9f82f26cb23e372244c8a23%40%3Cdev.lucene.apache.org%3E].

2) An async API is also useful in other HTTP/2 Solr clients as well, 
particularly CloudHttp2SolrClient (SOLR-14675). I will add a requestAsync 
method to the SolrClient class, with a default method that initially throws an 
unsupported operation exception (maybe this can be later updated to use an 
executor to handle the async request as a default impl). For now, I'll override 
the default implementation in the Http2SolrClient and CloudHttp2SolrClient.


> SolrJ Client Async HTTP/2 Requests
> ----------------------------------
>
>                 Key: SOLR-14763
>                 URL: https://issues.apache.org/jira/browse/SOLR-14763
>             Project: Solr
>          Issue Type: Improvement
>          Components: SolrJ
>    Affects Versions: 8.7
>            Reporter: Rishi Sankar
>            Assignee: James Dyer
>            Priority: Major
>             Fix For: main (10.0), 9.6
>
>          Time Spent: 7h 40m
>  Remaining Estimate: 0h
>
> In SOLR-14354, [~caomanhdat] created an API to use Jetty async API to make 
> more thread efficient HttpShardHandler requests. This added public async 
> request APIs to Http2SolrClient and LBHttp2SolrClient. There are a few ways 
> this API can be improved, that I will track in this issue:
> 1) Using a CompletableFuture-based async API signature, instead of using 
> internal custom interfaces (Cancellable, AsyncListener) - based on [this 
> discussion|https://lists.apache.org/thread.html/r548f318d9176c84ad1a4ed49ff182eeea9f82f26cb23e372244c8a23%40%3Cdev.lucene.apache.org%3E].
> ---
> The below was removed from the scope of what was delivered in 9.6; a linked 
> JIRA will address it.
> 2) An async API is also useful in other HTTP/2 Solr clients as well, 
> particularly CloudHttp2SolrClient (SOLR-14675). I will add a requestAsync 
> method to the SolrClient class, with a default method that initially throws 
> an unsupported operation exception (maybe this can be later updated to use an 
> executor to handle the async request as a default impl). For now, I'll 
> override the default implementation in the Http2SolrClient and 
> CloudHttp2SolrClient.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to