lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Swanhart <greenl...@gmail.com>
Subject java.io.FileNotFoundException: ... (No such file or directory)
Date Thu, 18 Nov 2004 21:59:40 GMT
I have two index processes.  One is an index server, the other is a
search server.  The processes run on different machines.

The index server is a single threaded process that reads from the
database and adds
unindexed rows to the index as needed.  It sleeps for a couple minutes
between each
batch to allow newly added/updated rows to accumulate.

The searcher process keeps an open cache of IndexSearcher objects and
is multithreaded.
It accepts connections on a tcp port, runs the query and stores the
results in a database.
After a set interval, the server checks to see if the index on disk is
a newer version.  If it is,
it loads the index into a new IndexSearcher as a RAMDirectory.

Every once in awhile, the index reader process gets a FileNotFoundException:
20041118 1378 1383  (index number, old version, new version)
[newer version found] Loading index directory into RAM: 20041118
java.io.FileNotFoundException:
/path/omitted/for/obvious/reasons/_4zj6.cfs (No such file or
directory)
        at java.io.RandomAccessFile.open(Native Method)
        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:204)
        at org.en.lucene.store.FSInputStream$Descriptor.<init>(FSDirectory.java:376)
        at org.en.lucene.store.FSInputStream.<init>(FSDirectory.java:405)
        at org.en.lucene.store.FSDirectory.openFile(FSDirectory.java:268)
        at org.en.lucene.store.RAMDirectory.<init>(RAMDirectory.java:60)
        at org.en.lucene.store.RAMDirectory.<init>(RAMDirectory.java:89)
        at org.en.global.searchserver.UpdateSearchers.createIndexSearchers(Search.java:89)
        at org.en.global.searchserver.UpdateSearchers.run(Search.java:54)

the code being called at that point is:
//add the directory to the HashMap of IndexSearchers (dir# => IndexSearcher)
indexSearchers.put(subDirs[i],new IndexSearcher(new
RAMDirectory(indexDir + "/" + subDirs[i])));

The indexes are located on a NFS mountpoint. Could this be the
problem?  Or should I be looking elsewhere...  Should i just check for
an IOException, and try reloading the index if I get an error?

---------------------------------------------------------------------
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