Disabling locking is only recommended for read-only indexes that aren't being modified. I think there is a comment in the code about a good example of this being an index you read off of a CD-ROM.
--- John Wang <[EMAIL PROTECTED]> wrote: > Hi folks: > > My application builds a super-index around the lucene > index, > e.g. stores some additional information outside of lucene. > > I am using my own locking outside of the lucene index > via > FileLock object in the jdk1.4 nio package. > > My code does the following: > > FileLock lock=null; > try{ > lock=myLockFileChannel.lock(); > > indexing into lucene; > > indexing additional information; > > } > > finally{ > try{ > commit lucene index by closing the IndexWriter > instance. > } > finally{ > if (lock!=null){ > lock.release(); > } > } > } > > > Now here is the weird thing, say I terminate the process in > the middle > of indexing, and run the program again, I would get a "Lock > obtain > time out" exception, as long as you delete the stale lock > file, the > index remains uncorrupted. > > However, if I turn lucene file lock off since I have a lock > outside it anyways, > (by doing: > static{ > System.setProperty("disableLuceneLocks","true"); > } > ) > > and do the same thing. Instead I get an unrecoverable > corrupted index. > > Does lucene lock really guarentee index integrity under this > kind of > abuse or am I just getting lucky? > If so, can someone shine some light on how? > > Thanks in advance > > -John > > --------------------------------------------------------------------- > 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]