[
https://issues.apache.org/jira/browse/LUCENE-1385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Uwe Schindler resolved LUCENE-1385.
-----------------------------------
Resolution: Won't Fix
Fix Version/s: 2.4
I close this bug, as the problem is fixed in Lucene 2.4.
Thanks for investigation, Michael - good work!
> IndexReader.isIndexCurrent()==false -> IndexReader.reopen() -> still index
> not current
> --------------------------------------------------------------------------------------
>
> Key: LUCENE-1385
> URL: https://issues.apache.org/jira/browse/LUCENE-1385
> Project: Lucene - Java
> Issue Type: Bug
> Components: Index
> Affects Versions: 2.3.2
> Environment: Linux, Solaris, Windows XP
> Reporter: Uwe Schindler
> Assignee: Michael McCandless
> Fix For: 2.4
>
> Attachments: LUCENE-1385.patch
>
>
> I found a strange error occurring with IndexReader.reopen. It is not always
> reproduceable, it only happens sometimes, but strangely on all my computers
> with different platforms at the same time. Maybe has something to to with the
> timestamp used in index versions.
> I have a search server using an IndexReader, that is openend in webapp
> startup and should stay open. Every half an hour this web application checks,
> if the index is still current using IndexReader.isCurrent(). When a parallel
> job that indexes documents (in another virtual machine) and modifies the
> indexes, isCurrent() return TRUE. The half-hourly cron-job then uses
> IndexReader.reopen() to reopen the index. But sometimes, directly after
> reopen() the Index is still not current (and no updates occur). Again calling
> reopen does not change it, too. Searching on the index shows all new/updated
> documents, but isCurrent() still return false. The problem with this is, that
> now the index is reopened all the time, because the detection of a current
> index does not work any more.
> I have now a workaround in my code to handle this: After calling
> IndexReader.reopen(), I test for IndexReader.isCurrent(), and if not, I close
> it hard and open a new instance.
> Most times IndexReader.reopen works correct, but sometimes this error occurs.
> Looking into the code of reopen(), I realized, that there is some extra
> check, if the Index has modifications, and if yes the reopen call returns the
> original reader (this maybe the problem I have). But the IndexReader is only
> used for searching, no updates occur.
> My questions: Why is there this check for modifications in reopen()? Why does
> this happen only at certain times on all my servers with different platforms?
> I want to use reopen, because in future, when the new FieldCache will be
> reopen-aware and does not everytime rebuild the full cache, it will be very
> important, to have this fixed. At the moment, I have no problem with the
> case, that reopen may fail and I have to do a rough reopen.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]