lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Lea <ian....@gmail.com>
Subject Re: AlreadyClosedException on new index
Date Tue, 06 Jan 2015 17:55:27 GMT
Presumably no exception is thrown from the new IndexWriter(....) call?
 I'd double check that, and try some harmless method call on the
writer and make sure that works.  And run CheckIndex against the
index.


--
Ian.


On Tue, Jan 6, 2015 at 5:05 PM, Brian Call
<brian.call@soterawireless.com> wrote:
> Hi Tomoko,
>
> Thank you for your response! We’ve actually never seen this before in the three+ years
of developing using Lucene 3.6.x. The only time we’ve ever seen this kind of exception is
once recently in a running production system and it caught me way off guard. We’re deploying
on Suse linux (enterprise), and jdk1.7.
>
> Our application creates and deletes indices within the context of a single thread so
I don’t think another thread is abruptly closing the index. All index open/close operations
are always done sequentially in the context of one thread as operation requests are received.
>
> Blessings,
> Brian
>
>
>
>> On Jan 6, 2015, at 2:16 AM, Tomoko Uchida <tomoko.uchida.1111@gmail.com> wrote:
>>
>> Hi,
>>
>> How often does this error occur?
>> You do not tell the lucene version, but I guess you use lucene 3.x
>> according to the stack trace...
>> IndexWriter would not be closed until IndexWriter.close() method is called
>> explicitly.
>> https://github.com/apache/lucene-solr/blob/lucene_solr_3_6_2/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
<https://github.com/apache/lucene-solr/blob/lucene_solr_3_6_2/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java>
>>
>> Do you have custom codes wrapping lucene objects? There can be any codes
>> which call IndexWriter.close() unexpectedly?
>>
>> If your application seems to have no problem, you need to share more
>> information including lucene version and system environments.
>>
>> Regards,
>> Tomoko
>>
>>
>> 2015-01-06 8:32 GMT+09:00 Brian Call <brian.call@soterawireless.com <mailto:brian.call@soterawireless.com>>:
>>
>>> Hi Guys,
>>>
>>> So I’m seeing a problem in production that is very bizarre and I wanted to
>>> see if anyone else has encountered this issue and/or has a suggestion or
>>> fix. Here goes:
>>>
>>> We create a wrapper around an index and searcher manager to encapsulate
>>> both. First we create the IndexWriter and then immediately after create the
>>> SearcherManager, like this:
>>>
>>> indexWriter = new IndexWriter(indexDirectory, getWriterConfig());
>>> searcherManager = new SearcherManager(indexWriter, true, new
>>> ExecutorSearcherFactory());
>>>
>>>
>>> During construction of the SearcherManager this is thrown:
>>>
>>> Caused by: org.apache.lucene.store.AlreadyClosedException: this
>>> IndexWriter is closed
>>>        at
>>> org.apache.lucene.index.IndexWriter.ensureOpen(IndexWriter.java:766)
>>>        at
>>> org.apache.lucene.index.IndexWriter.getDirectory(IndexWriter.java:1909)
>>>        at
>>> com.triagewireless.h1s.session.data.index.LuceneIndexMergeScheduler.getIndexDirectory(LuceneIndexMergeScheduler.java:162)
>>>        at
>>> com.triagewireless.h1s.session.data.index.LuceneIndexMergeScheduler.access$000(LuceneIndexMergeScheduler.java:31)
>>>        at
>>> com.triagewireless.h1s.session.data.index.LuceneIndexMergeScheduler$MergeTask.equals(LuceneIndexMergeScheduler.java:127)
>>>        at
>>> java.util.concurrent.ArrayBlockingQueue.contains(ArrayBlockingQueue.java:497)
>>>        at
>>> com.triagewireless.h1s.session.data.index.LuceneIndexMergeScheduler.merge(LuceneIndexMergeScheduler.java:148)
>>>        at
>>> org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:2740)
>>>        at
>>> org.apache.lucene.index.IndexWriter.maybeMerge(IndexWriter.java:2734)
>>>        at
>>> org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:457)
>>>        at
>>> org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:399)
>>>        at org.apache.lucene.index.IndexReader.open(IndexReader.java:296)
>>>        at
>>> org.apache.lucene.search.SearcherManager.<init>(SearcherManager.java:82)
>>>        at
>>> com.triagewireless.h1s.session.data.index.LuceneIndex.initNoCache(LuceneIndex.java:312)
>>>        at
>>> com.triagewireless.h1s.session.data.index.LuceneIndex.init(LuceneIndex.java:270)
>>>        at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
>>>        at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>        at java.lang.reflect.Method.invoke(Method.java:606)
>>>        at
>>> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:346)
>>>        at
>>> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:299)
>>>        at
>>> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:132)
>>>        ... 57 more
>>>
>>>
>>> Why? No other threads are acting on this index, etc. The index writer was
>>> just created so how could it already be closed?
>>>
>>> I’m completely baffled on this one guys… so many thanks in advance for
>>> your help! I’ll take any suggestions on a possible mitigation too if anyone
>>> thinks of any.
>>>
>>>
>>> Blessings,
>>> Brian Call
>>> Manager, Systems Software Development
>>> Work: +1 (619) 373-4840 | Cell: +1 (619) 344-1013
>>>
>>> <http://soterawireless.com/ <http://soterawireless.com/>>       
           Sotera Wireless, Inc.
>>> 10020 Huennekens Street San Diego, CA 92121, USA
>>> Phone: +1 (858) 427-4620 | Fax: +1 (858) 999-2487
>>>
>>> PRIVILEGED AND CONFIDENTIAL COMMUNICATION: This electronic transmission,
>>> and any documents attached hereto, may contain confidential and/or legally
>>> privileged information. The information is intended only for use by the
>>> recipient named above. If you have received this electronic message in
>>> error, please notify the sender and delete the electronic message. Any
>>> disclosure, copying, distribution, or use of the contents of information
>>> received in error is strictly prohibited.
>

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


Mime
View raw message