By far the most likely cause is that something somewhere in your code is closing the searcher or the reader.
-- Ian. On Thu, Nov 8, 2012 at 2:39 PM, Bin Lan <b...@perimeterusa.com> wrote: > We recently upgrade our lucene library from 1.9.1 to 3.6.1 and we run into > multiple AlreadyClosedException when doing search. Here is the stack: > > RetrievedDateMarker=2012-11-08 08:36:34.393 Error searching > \\p7na02b\na01_mail03\index\daily\20121031.main.index.3 > com.seccas.task.SearchRequestTask.futureTaskRun( > SearchRequestTask.java:136) > com.seccas.util.SearchThread.run(SearchThread.java:26) > Caused by: > org.apache.lucene.store.AlreadyClosedException: MMapIndexInput already > closed: MMapIndexInput(path="\\p7na02b\na01_mail03\ > compliance.farmersagent.com\index\daily\20121031.main.index.3\_4ljc.frq") > > org.apache.lucene.store.MMapDirectory$MMapIndexInput.seek(MMapDirectory.java:382) > > org.apache.lucene.index.SegmentTermDocs.seek(SegmentTermDocs.java:100) > > org.apache.lucene.index.SegmentTermDocs.seek(SegmentTermDocs.java:67) > > com.seccas.lucene.FieldArrayFilter.getDocIdSet(FieldArrayFilter.java:157) > > org.apache.lucene.search.FilteredQuery.getFilteredScorer(FilteredQuery.java:136) > > org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:577) > > org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:364) > com.seccas.task.SearchRequestTask.futureTaskRun( > SearchRequestTask.java:89) > com.seccas.util.SearchThread.run(SearchThread.java:26) > > On the source code side, we open and did the search like this: > > reader = IndexReader.open(FSDirectory.open(newFile(request.indexPath))); > searcher = new IndexSearcher( reader ); > searcher.search( query, filter, collector ); > > I do not see any reason why this could happen. The IndexReader is not being > shared with other thread. > > Regards > -- > Bin Lan > Software Developer > Perimeter E-Security > O - (203)541-3412 > > Follow Us on Twitter: www.twitter.com/PerimeterNews > Read Our Blog: security.perimeterusa.com/blog > > > > > -- > The sender of this email subscribes to Perimeter E-Security's email > anti-virus service. This email has been scanned for malicious code and is > believed to be virus free. For more information on email security please > visit: http://www.perimeterusa.com/services/messaging > This communication is confidential, intended only for the named recipient(s) > above and may contain trade secrets or other information that is exempt from > disclosure under applicable law. Any use, dissemination, distribution or > copying of this communication by anyone other than the named recipient(s) is > strictly prohibited. If you have received this communication in error, please > delete the email and immediately notify our Command Center at 203-541-3444. --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org