Right, you have to ensure (by using the "right" IndexDeletionPolicy)
that no commit is ever removed until all readers open against that
commit have been closed.

"Normally" the filesystem ensures this for us (protects still-open
files from being deleted), but NFS (unfortunately!) lacks such
semantics.

Persistent/SnapshotDeletionPolicy could in theory be used here... eg
you can pull a snapshot of the current commit, then call
IndexWriter.commit, then wait for all readers to reopen, then release
the snapshot.  In theory that should work?  You can make it time
based, eg wait 30 minutes and then release the snapshot, assuming your
readers all check for (and complete) reopen more frequently than every
30 minutes.

Mike McCandless

http://blog.mikemccandless.com

On Tue, Jan 31, 2012 at 10:41 PM, superruiye <superru...@gmail.com> wrote:
> Does it means I only to ensure reopen readers before deleted.I use default
> IndexDeletionPolicy: KeepOnlyLastCommitDeletionPolicy.And another two
> IndexDeletionPolicy,SnapshotDeletionPolicy and
> PersistentSnapshotDeletionPolicy,I am watching now.Are they useful to this
> problem?
>
> --
> View this message in context: 
> http://lucene.472066.n3.nabble.com/Why-read-past-EOF-tp3639401p3705542.html
> Sent from the Lucene - Java Users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>

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

Reply via email to