Thanks, everyone. Arcadius, that ticket is interesting. I was wondering if an implementation of SolrClient could be based on HttpAsyncClient instead of HttpSolrClient. Just a thought right now, which needs to be explored deeper.
- Ashish On Mon, Aug 24, 2015 at 1:46 AM, Arcadius Ahouansou <arcad...@menelic.com> wrote: > Hello Ashish. > > Therse is an unfinished work about this at > https://issues.apache.org/jira/browse/SOLR-3383 > > Maybe you want to have a look and contribute? > > Arcadius. > > On 23 August 2015 at 17:02, Walter Underwood <wun...@wunderwood.org> > wrote: > > > The last time that I used the HTTPClient library, it was non-blocking. It > > doesn’t try to read from the socket until you ask for data from the > > response object. That allows parallel requests without threads. > > > > Underneath, it has a pool of connections that can be reused. If the pool > > is exhausted, it can block. > > > > wunder > > Walter Underwood > > wun...@wunderwood.org > > http://observer.wunderwood.org/ (my blog) > > > > > > On Aug 23, 2015, at 8:49 AM, Shawn Heisey <apa...@elyograg.org> wrote: > > > > > On 8/23/2015 7:46 AM, Ashish Mukherjee wrote: > > >> I want to run few Solr queries in parallel, which are being done in a > > >> multi-threaded model now. I was wondering if there are any client > > libraries > > >> to query Solr through a non-blocking I/O mechanism instead of a > > threaded > > >> model. Has anyone attempted something like this? > > > > > > The only client library that the Solr project makes is SolrJ -- the > > > client for Java. If you are not using the SolrJ client, then the Solr > > > project did not write it, and you should contact the authors of the > > > library directly. > > > > > > SolrJ and Solr are both completely thread-safe, and multiple threads > are > > > recommended for highly concurrent usage. SolrJ uses HttpClient for > > > communication with Solr. > > > > > > I was not able to determine whether the default httpclient settings > will > > > result in non-blocking I/O or not. As far as I am aware, nothing in > > > SolrJ sets any explicit configuration for blocking or non-blocking I/O. > > > You can create your own HttpClient object in a SolrJ program and have > > > the SolrClient object use it. > > > > > > HttpClient uses HttpCore. Here is the main web page for these > > components: > > > > > > https://hc.apache.org/ > > > > > > On this webpage, it says "HttpCore supports two I/O models: blocking > I/O > > > model based on the classic Java I/O and non-blocking, event driven I/O > > > model based on Java NIO." There is no information here about which > > > model is chosen by default. > > > > > > Thanks, > > > Shawn > > > > > > > > > > -- > Arcadius Ahouansou > Menelic Ltd | Information is Power > M: 07908761999 > W: www.menelic.com > --- >