That is correct.

On Dec 13, 2006, at 4:48 PM, Otis Gospodnetic wrote:

Aaaah, I think I get it.
TermIndexReader can be shared by multiple threads.
Each thread will need access to SegmentTermEnum inside the TIR, but since each of them will search, scan, and seek to a different location, each threads needs its own copy/clone of the original SegmentTermEnum.

ThreadLocal is then used as a simple cache for the clone of the original SegmentTermEnum, so a single thread can get to it without repeating scan/seek stuff, and so that each thread works with its own clone of SegmentTermEnum.

Otis

----- Original Message ----
From: Otis Gospodnetic <[EMAIL PROTECTED]>
To: java-dev@lucene.apache.org
Sent: Wednesday, December 13, 2006 4:53:45 PM
Subject: TermInfosReader and clone of SegmentTermEnum

Hi,

I'm looking at Robert Engels' patches in http://issues.apache.org/ jira/browse/LUCENE-436 and looking at TermInfosReader. I think I understand why there is ThreadLocal there in the first place - to act as a per-thread cache for the expensive to compute SegmentTermEnum.... yes?

But why is there is need to clone() the (original) SegmentTermEnum?

Thanks,
Otis




---------------------------------------------------------------------
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