Thanks Shawn & Vicenzo. Will check it out and change accordingly. Thanks
again Shawn for your clear explanation.

Regards
Reej


On Tue, 29 Jun 2021 at 9:47 PM, Vincenzo D'Amore <v.dam...@gmail.com> wrote:

> Right, you should always use CloudSolrClient as a singleton.
> To be honest I'm used to reuse a CloudSolrClient instance for each
> collection/index.
>
> On Tue, Jun 29, 2021 at 3:12 PM Shawn Heisey <apa...@elyograg.org> wrote:
>
> > On 6/29/2021 6:43 AM, Reej Nayagam wrote:
> > > Hi Vincenzo Yes we are using cloud and initial solr version was 4.10.4
> > > and we upgraded the jars alone to 8.8.2 now in the application side
> > > connecting to solr Server to fix some vulnerability. As we have
> > > upgraded the jars we changed httpsolrserver connection to
> > > httpsolrclient and we guess there is some connection leak and wanted
> > > to check if we need to close it or it is being handled internally.
> > > Singleton not sure if I can use as the base URL changes depending on
> > > the leader.
> >
> > If you're running SolrCloud, you should be using CloudSolrClient, not
> > HttpSolrClient.  The cloud client talks to zookeeper, so it is always
> > aware of the cluster state -- it will be aware of down servers and new
> > servers, without recreating or reinitializing the client.  And it will
> > be aware of changes instantly -- because that information is coordinated
> > in zookeeper.
> >
> > You can use a single client object for multiple collections.  All of the
> > methods that execute requests should have a version where you can pass
> > it the name of the collection/core you want to operate on. For
> > CloudSolrClient, you point it at all your ZK servers and it figures out
> > the Solr server URLs  from the clusterstate in ZK.  For HttpSolrClient,
> > you just leave the collection name off of the base URL --
> > "http://server.example.com:8983/solr"; is an example URL.
> >
> > As was mentioned, you should create a client during program startup and
> > then use it to handle all requests for the life of the program. It
> > should manage connections and close them after receiving data, with no
> > coding needed from the developer (you).  If you close a SolrClient
> > object, it will not function after that.  If you're having connections
> > stay open, then either you're running a Solr or SolrJ version with bugs,
> > or there is something wrong with your networking.
> >
> > It shouldn't be necessary to ever close a SolrClient object, unless you
> > create a new one every time your program talks to Solr.   Which you
> > shouldn't do.
> >
> >
> > Thanks,
> > Shawn
> >
> >
>
> --
> Vincenzo D'Amore
>
-- 
*Thanks,*
*Reej*

Reply via email to