Because IndexReader.delete wasn't using the writer lock Regards,
--Daniel > -----Original Message----- > From: Howk, Michael [mailto:[EMAIL PROTECTED]] > Sent: sexta-feira, 22 de fevereiro de 2002 11:32 > To: 'Lucene Users List' > Subject: RE: Index Locked For Write > > > Out of curiosity, why didn't we need to close the writer in rc2 or rc3? > > When you suggest a "synchronized keyword", are you suggesting that the > writer is not inherently thread-safe? Do we need to write our own thread > management on top of Lucene? > > -----Original Message----- > From: Otis Gospodnetic [mailto:[EMAIL PROTECTED]] > Sent: Thursday, February 21, 2002 4:07 PM > To: Lucene Users List > Subject: RE: Index Locked For Write > > > You could use synchronized keyword and use IndexReader.isLocked() or > something like that, no? > > Otis > > --- "Howk, Michael" <[EMAIL PROTECTED]> wrote: > > Thank you for your quick responses. But in our application, we're > > working in > > a transactional environment where multiple threads are accessing a > > single > > writer using the recommended singleton pattern. Since no thread has > > exclusive access to the writer, how can we have one thread > > arbitrarily > > decide to close the writer? > > > > Michael > > > > -----Original Message----- > > From: Mark Tucker [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, February 21, 2002 3:51 PM > > To: Lucene Users List > > Subject: RE: Index Locked For Write > > > > > > You forgot to close your writer after the call to optimize. > > > > -----Original Message----- > > From: Howk, Michael [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, February 21, 2002 2:49 PM > > To: Lucene Mailing List (E-mail) > > Subject: Index Locked For Write > > > > > > We just got the newest daily build (to try to fix some NullPointer > > errors > > with "?" and "_" characters), and we're getting the same problem that > > Daniel > > Calvo mentioned: Index Locked for Write. Here's basically what our > > code is > > doing: > > IndexWriter writer = new IndexWriter(path, analyzer, create); > > try { > > Document doc = new Document(); > > doc.add(Field.Keyword("DOC_ID", "14")); > > doc.add(Field.UnStored("ANY", "mushu")); > > writer.addDocument(doc); > > writer.optimize(); > > > > // Search the document for our keyword > > { > > IndexReader reader = IndexReader.open(path); > > IndexSearcher searcher = new IndexSearcher(reader); > > Vector returnStuff = searcher.search("mushu"); > > } > > > > // Verify that we got one record back > > assertNotNull(returnStuff); > > assertEquals(1, returnStuff.size()); > > } > > finally { > > // Clean up after ourselves > > IndexReader reader = IndexReader.open(path); > > reader.delete(new Term("DOC_ID", "14")); > > reader.close(); > > } > > > > And the exception we're getting on the "reader.delete" line in the > > finally > > clause: > > > > java.io.IOException: Index locked for write: > > Lock@C:\devtools\JBossTomcat\jboss\indexes\marc\write.lock at > > > sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteC > > all.java:245) at > > > sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220) > > at > > sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122) at > > > org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invoke(Unknown > > Source) at > > > org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(GenericPr > > oxy.java:357) at > > > org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(Stateless > > SessionProxy.java:123) at > > $Proxy5.deleteDocument(Unknown Source) > > > > Are we using the right approach? Any suggestions? Thank you. > > > > Michael Howk > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > __________________________________________________ > Do You Yahoo!? > Yahoo! Sports - Coverage of the 2002 Olympic Games > http://sports.yahoo.com > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
