Hi,

Yeah it's strange. I checked the code: It either does wrap and runs 
single-thread searches or it does *not* wrap and runs several threads. So 
theoretically it should work correctly... We have to check, if all IndexReaders 
are correctly closed and the listeners are called.

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: [email protected]


> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of
> Dawid Weiss
> Sent: Thursday, March 01, 2012 12:02 PM
> To: [email protected]
> Subject: Re: ThreadPool threads leaking to suite scope.
> 
> I don't know how to fix it, Uwe, but I know there's definitely something not 
> all
> right with it because threads just keep accumulating (as new searchers are
> created).
> 
> I've pushed a static seed for which this is repeatable; this is a heavily 
> worked-on
> branch but it may lead you to how to fix this:
> 
> git clone git://github.com/dweiss/lucene_solr.git
> git checkout 935e1e9e9a350d6b35b23c4545caf78e82b42747
> 
> try to run TestPhraseQuery (you'll need -ea in Eclipse).
> 
> Dawid
> 
> On Thu, Mar 1, 2012 at 11:55 AM, Uwe Schindler <[email protected]> wrote:
> > I think the problem in newSearcher ist hat sometimes the reader is wrapped.
> If its wrapped, the underlying reader is only closed, not the wrapper. But the
> listener is added to the wrapper. We should add the listener to the original
> inner reader.
> >
> > Uwe
> >
> > -----
> > Uwe Schindler
> > H.-H.-Meier-Allee 63, D-28213 Bremen
> > http://www.thetaphi.de
> > eMail: [email protected]
> >
> >
> >> -----Original Message-----
> >> From: Dawid Weiss [mailto:[email protected]]
> >> Sent: Thursday, March 01, 2012 11:51 AM
> >> To: [email protected]
> >> Subject: Re: ThreadPool threads leaking to suite scope.
> >>
> >> > 1) initialize threads eagerly; use ThreadPoolExecutor and call
> >> > prestartAllCoreThreads. this could be applied to LTC on the trunk.
> >>
> >> I did this but threads still leak out from unclosed readers created
> >> by LTC#newSearcher. I don't know why, but this isn't called --
> >>
> >>        r.addReaderClosedListener(new ReaderClosedListener() {
> >>          @Override
> >>          public void onClose(IndexReader reader) {
> >>            shutdownExecutorService(ex);
> >>          }
> >>        });
> >>
> >> Clues?
> >>
> >> Dawid
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected] For
> >> additional commands, e-mail: [email protected]
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected] For
> > additional commands, e-mail: [email protected]
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected] For additional
> commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to