Mark,
We deployed our indexer (using defaultIndexAccessor) on one of the
production site and getting this error,
Caused by: java.util.concurrent.RejectedExecutionException
at
java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor.reject(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
at
org.apache.lucene.indexaccessor.DefaultIndexAccessor.release(DefaultIndexAccessor.java:514)
This is happening repeatedly every time the indexer runs.
This is running your latest IndexAccessor-021508 code. Any ideas
(it's kind of urgent for us)?
Thanks,
-vivek
On Fri, Feb 15, 2008 at 6:50 PM, vivek sar <[EMAIL PROTECTED]> wrote:
> Mark,
>
> Thanks for the quick fix. Actually, it is possible that there might
> had been simultaneous queries using the MultiSearcher. I assumed it
> was thread-safe, thus was re-using the same instance. I'll update my
> application code as well.
>
> Thanks,
> -vivek
>
>
>
> On Feb 15, 2008 5:56 PM, Mark Miller <[EMAIL PROTECTED]> wrote:
> > Here is the fix: https://issues.apache.org/jira/browse/LUCENE-1026
> >
> >
> > vivek sar wrote:
> > > Mark,
> > >
> > > There seems to be some issue with DefaultMultiIndexAccessor.java. I
> > > got following NPE exception,
> > >
> > > 2008-02-13 07:10:28,021 ERROR [http-7501-Processor6]
> ReportServiceImpl -
> > > java.lang.NullPointerException
> > > at
> org.apache.lucene.indexaccessor.DefaultMultiIndexAccessor.release(DefaultMultiIndexAccessor.java:89)
> > >
> > > Looks like the IndexAccessor for one of the Searcher in the
> > > MultiSearcher returned null. Not sure how is that possible, any ideas
> > > how is that possible?
> > >
> > > In my case it caused a critical error as the writer thread was stuck
> > > forever (we found out after couple of days) because of this,
> > >
> > > "PS thread 9" prio=1 tid=0x00002aac70eb95d0 nid=0x6ba in Object.wait()
> > > [0x0000000047533000..0x0000000047533b80]
> > > at java.lang.Object.wait(Native Method)
> > > - waiting on <0x00002aab3e5c7700> (a
> > > org.apache.lucene.indexaccessor.DefaultIndexAccessor)
> > > at java.lang.Object.wait(Unknown Source)
> > > at
> org.apache.lucene.indexaccessor.DefaultIndexAccessor.waitForReadersAndCloseCached(DefaultIndexAccessor.java:593)
> > > at
> org.apache.lucene.indexaccessor.DefaultIndexAccessor.release(DefaultIndexAccessor.java:510)
> > > - locked <0x00002aab3e5c7700> (a
> > > org.apache.lucene.indexaccessor.DefaultIndexAccessor)
> > >
> > > The only way to recover was to re-start the application.
> > >
> > > I use both MultiSearcher and IndexSearcher in my application, I've
> > > looked at your code but not able to pinpoint how can it go wrong? Of
> > > course, you do have to check for null in the
> > > MultiIndexAccessor.release, but how could you get null index accessor
> > > at first place?
> > >
> > > I do call IndexAccessor.close during partitioning of indexes, but the
> > > close should wait for all Searchers to close before doing anything.
> > >
> > > Do you have any updates to your code since 02/04/2008?
> > >
> > > Thanks,
> > > -vivek
> > >
> > > On Feb 6, 2008 8:37 AM, Jay <[EMAIL PROTECTED]> wrote:
> > >
> > >> Thanks for your clarifications, Mark!
> > >>
> > >>
> > >> Jay
> > >>
> > >>
> > >> Mark Miller wrote:
> > >>
> > >>>> 5. Although currently IndexSearcher.close() does almost nothing except
> > >>>> to close the internal index reader, it might be a safer to close
> > >>>> searcher itself as well in closeCachedSearcher(), just in case, the
> > >>>> searcher may have other resources to release in the future version of
> > >>>> Lucene.
> > >>>>
> > >>> Didn't catch that "as well". You are right, great idea Jay, thanks.
> > >>>
> > >>> ---------------------------------------------------------------------
> > >>> 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]
> >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]