lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howk, Michael" <MH...@FSC.Follett.com>
Subject RE: Index Locked For Write
Date Fri, 22 Feb 2002 14:31:42 GMT
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:otis_gospodnetic@yahoo.com]
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" <MHowk@FSC.Follett.com> 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:MTucker@infoimage.com]
> 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:MHowk@FSC.Follett.com]
> 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:lucene-user-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
> <mailto:lucene-user-help@jakarta.apache.org>
> 
> 
> --
> To unsubscribe, e-mail:
> <mailto:lucene-user-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
> <mailto:lucene-user-help@jakarta.apache.org>
> 
> --
> To unsubscribe, e-mail:  
> <mailto:lucene-user-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
> <mailto:lucene-user-help@jakarta.apache.org>
> 


__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com

--
To unsubscribe, e-mail:
<mailto:lucene-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail:
<mailto:lucene-user-help@jakarta.apache.org>

--
To unsubscribe, e-mail:   <mailto:lucene-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-user-help@jakarta.apache.org>


Mime
View raw message