Hi Tim, have you figured out the problem? Just curious to know what you
have done at the end.

On Fri, Aug 25, 2023 at 4:48 PM Vincenzo D'Amore <v.dam...@gmail.com> wrote:

> Just my 2 cent:, I have always used solr clients as singletons. You have
> to instantiate them only once and reuse them forever.
>
> On Fri, 25 Aug 2023 at 15:35, Tim Funk <funk...@apache.org> wrote:
>
>> Update - It looks like the ThreadLocal leak is different and unrelated to
>> creating  / closing a new Http2SolrClient every request.  Even using a
>> shared
>> Http2SolrClient for my webapp - I noticed the same issue in a QA
>> environment
>> of leaking ThreadLocals. Falling back to HttpSolrClient optimistically is
>> the fix so far.
>>
>> Client is OpenJDK 11.0.17
>>
>> -Tim
>>
>> On Wed, Aug 23, 2023 at 9:46 AM Tim Funk <funk...@apache.org> wrote:
>>
>> > Cool - For now I'll either revert to HttpSolrClient or use a single
>> client
>> > (depending
>> >  on what I have to refactor)
>> >
>> > My only concern with a shared client is if one calls close()
>> "accidently",
>> > i don't
>> > see an easy way to query the client to see if it was closed so I can
>> > destroy it
>> > and create a new one. (Without resorting to an webapp restart)
>> >
>> > -Tim
>> >
>> > On Tue, Aug 22, 2023 at 6:42 PM Shawn Heisey <apa...@elyograg.org>
>> wrote:
>> >
>> >>
>> >> That kind of try-with-resources approach should take care of the
>> >> problem, because it would run the close() method on the SolrClient
>> object.
>> >>
>> >> The classes in the error are Jetty classes.  This probably means that
>> >> the problem is in Jetty, but I couldn't guarantee that.
>> >>
>> >> You do not need multiple client objects just because you have multiple
>> >> cores.  You only need one Http2SolrClient object per hostname:port
>> >> combination used to access Solr, and you should only need to create
>> them
>> >> when the application starts and close them when the application ends.
>> >>
>> >>
>>
>

-- 
Vincenzo D'Amore

Reply via email to