lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From robert engels <reng...@ix.netcom.com>
Subject Re: ThreadLocal leak (was Re: Leaking org.apache.lucene.index.* objects)
Date Tue, 19 Dec 2006 21:52:18 GMT
Sorry, it wasn't this particular thread. Sorry for the confusion.  
This thread is actually on the money I believe (The FieldCache issues).

I got my wires crossed during a vent. It is just difficult when you  
spend numerous hours to diagnose "the problem" and then have to  
revisit the same issue every couple of months.

On Dec 19, 2006, at 3:25 PM, Mike Klaas wrote:

> On 12/19/06, robert engels <rengels@ix.netcom.com> wrote:
>> I would suggest that in order to even bring up "thread local issues"
>> in the future that the submitter supplies a pure Java NON-LUCENE test
>> case that demonstrates the problem (just as you would if reporting a
>> bug to Sun).
>>
>> All of the "guessing" about what is going on is counter productive.
>> You can review the JDK source code, and you can run test cases.
>>
>> There is nothing inherently broken in ThreadLocals, and people that
>> keep claiming that are only doing a disservice to the people that
>> make sure Java is a robust and reliable platform.
>
> I didn't observe any maligning of java ThreadLocals in this thread--I
> only noticed questions about lucene's use of them.  I can understand
> that you are worried about FUD, but I don't think that is happening
> here, nor are anyone's efforts being disprespected.
>
> -Mike
>
>> On Dec 19, 2006, at 1:41 PM, Yonik Seeley wrote:
>>
>> > On 12/19/06, Otis Gospodnetic <otis_gospodnetic@yahoo.com> wrote:
>> >> I _think_ Robert is right and ThreadLocals are not the problem (I
>> >> tried getting rid of them, and replacing them with an instance var
>> >> last week, but run into problems with multi-threaded unit tests).
>> >
>> > If you want to try getting rid of the ThreadLocals, you can't  
>> replace
>> > with instance vars because the stuff put into the Threadlocals  
>> isn't
>> > thread safe.
>> > Replace the ThreadLocal stuff with the code that populated it in  
>> the
>> > first place.
>> >
>> > So for instance, in TermInfosReader, replace this
>> >  private SegmentTermEnum getEnum() {
>> >    SegmentTermEnum termEnum = (SegmentTermEnum)enumerators.get();
>> >    if (termEnum == null) {
>> >      termEnum = terms();
>> >      enumerators.set(termEnum);
>> >    }
>> >    return termEnum;
>> >  }
>> >
>> > With this:
>> >  private SegmentTermEnum getEnum() {
>> >     return terms()
>> >  }
>> >
>> >
>> >> What I'm seeing while profiling (and in production) is the
>> >> accumulation of these:
>> >>
>> >> org.apache.lucene.search.FieldCacheImpl$Entry
>> >> org.apache.lucene.search.FieldCacheImpl$CreationPlaceholder
>> >>
>> >> This is related to http://issues.apache.org/jira/browse/LUCENE-651
>> >> (the commit for that patch also happens to coincide with when I
>> >> started seeing the leak).
>> >
>> > I'll take a look into that.  Solr hasn't sync'd to that version of
>> > Lucene yet, so we haven't seen this problem of course :-)
>> >
>> > -Yonik
>> >
>> >  
>> ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
>> > For additional commands, e-mail: java-dev-help@lucene.apache.org
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-dev-help@lucene.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message