lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Cutting <cutt...@lucene.com>
Subject Re: Indexing very large sets (10 million docs)
Date Wed, 30 Jul 2003 23:56:29 GMT
Roger Ford wrote:
> I do have another problem: running multi-user tests - four "users"
> all firing off queries one after the other - I hit this exception
> at the start of one run:
> 
>   caught a class java.io.IOException
>   with message: Timed out waiting for
>   Lock@E:\Lucene_Index\Index0001\commit.lock
> 
> Can anyone explain what's happening here - why does it need a lock
> in order to READ the index? Is there something I should be doing different?

This lock is required when opening an index.  First Lucene reads the 
list of files it must open, then it opens them all.  It needs to make 
sure that, between the time it reads the list and when it completes 
opening the last file, that some other process that's modifying the 
index doesn't delete one of these files.

My guess is that you are opening the same index from multiple JVMs at 
the same time, and that one of these had to wait longer than ten seconds 
(the lock timeout) for the others to open all of the files.  I've never 
seen that happen before, but, in theory, it could.  If you know the 
index is not changing, then you can disable locks with a system 
property.  Or perhaps you can do everything from a single JVM, with a 
single Searcher/IndexReader.  Or you could increase the timeout.

How big is the optimized index?  Can you send along an 'ls -l' of it?

Doug


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


Mime
View raw message