You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by "Howk, Michael" <MH...@FSC.Follett.com> on 2002/02/21 22:48:36 UTC
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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Index Locked For Write
Posted by Otis Gospodnetic <ot...@yahoo.com>.
The fix is simple:
writer.close() after writer.optimize().
Otis
--- "Howk, Michael" <MH...@FSC.Follett.com> wrote:
> 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:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>
__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>