Lucene <= 1.2 creates .lock files in the index directory itself. With >= 1.3 it creates it in java.io.tmpdir (usually /tmp on *NIX systems).
If you get the Exception:
java.io.IOException: Lock obtain timed out
at org.apache.lucene.store.Lock.obtain(Lock.java:97)
at org.apache.lucene.store.Lock$With.run(Lock.java:147)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:110)
at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:80)
This is because Lucene was unable to open the index becuase it's currently locked.
Note that on Tomcat locks are kept in TOMCAT_HOME/temp and this can become confusing because if you check /tmp there are no lock files.
You can also pass lucene a system property to increase the commit/write lock timeout interval, like so:
-Dorg.apache.lucene.commitLockTimeout=60000
or
-Dorg.apache.lucene.writeLockTimeout=60000
The above sets the timeout to one minute.