hmm... , What is a leftover lock file? You know I debug my code, befor index folder has lock file, till line 7. Then I close the program, like in a real run an interrupt has happened. Next I debug the program again with that index folder which has the lock file and it shouldn't passes the if clause. But it passes.
This is my sample code: 1.try{ 2. if(!(IndexWriter.isLock(NIOFSDirectory.open("dstAddr")))){ 3. IndexReader ir = IndexReader.open(NIOFSDirectory.open("srcAddr"),true); 4. IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_CURRENT, new SimpleAnalyzer()); 5. IndexWriter iw = new IndexWriter(NIOFSDirectory.open("dstAddr"),iwc); 6. 7. iw.addIndexes(ir); 8. iw.close(); 9. } 10.} catch(CorruptIndexException e){ 11. //TODO 12.} catch(LockObtainFailedException e){ 13. //TODO 14.} catch(IOException e){ 15. //TODO 16.} On Mon, May 7, 2012 at 3:24 PM, Michael McCandless < luc...@mikemccandless.com> wrote: > My guess is you had a leftover lock file. With NativeFSLockFactory > (used by NIOFSDirectory), the presence of a lock file does not mean > the lock is held (unlike the older SimpleFSLockFactory). > > The code that checks if the lock is held simply acquires and then > releases the lock. So if you had a leftover (but unlocked) lock file, > then the acquire succeeds, and on release the file is removed ... > > If it's not a leftover lock file ... can you make a quick code > fragment showing the problem? > > Mike McCandless > > http://blog.mikemccandless.com > > On Mon, May 7, 2012 at 12:27 AM, S Eslamian <seslam...@gmail.com> wrote: > > Yes, I'm sure. I debug the code, and look at the files in the index > folder, > > it has a write.lock file before this line of code: > > if (!(IndexWriter.isLock(NIOFSDirectory.open("fileAddr")))){ > > //do something > > } > > > > and after passing this line, index folder does not contain write.lock > file > > and code goes to the if loop while it shouldn't passes the if clause! > > > > S Eslamian > > > > On Sun, May 6, 2012 at 5:56 PM, Michael McCandless < > > luc...@mikemccandless.com> wrote: > > > >> Hmm, not good. Are you sure the index was previously locked? > >> > >> Can you describe your environment? Which OS / Directory class are you > >> using? > >> > >> Maybe boil down to a small code fragment showing the issue? > >> > >> Mike McCandless > >> > >> http://blog.mikemccandless.com > >> > >> On Sun, May 6, 2012 at 8:29 AM, S Eslamian <seslam...@gmail.com> wrote: > >> > Hi all > >> > While I am using IndexWriter.isLock(), this method unlocks the index > and > >> > returns false. > >> > Can anyone tell me why? > >> > >> --------------------------------------------------------------------- > >> 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 > >