Solr over NFS problems
Our application uses embedded Solr instance for search. The data directory is located on NFS and I cannot change that. The usage of Solr is very simple, there’s a single thread that periodically updates index and there are several reader threads – these all are inside one java process. No other Solr interaction takes place.
With default “solrconfig.xml” I sometimes run into “java.nio.channels.OverlappingFileLockException”. As far as I understand the reason is actually “SimpleFSLockFactory” not working correctly with NFS.
Storing your indexes over NFS is prone to problems, but if it had to be run over NFS, I predict that this problem arises possibly from not using NFSv4, or not using it correctly. NFSv4 is the first version to support locking byte-ranges, NFSv2 & v3 (poorly) support entire files, and without running portmap, rpc.lockd and rpc.statd – the locks are probably only advisory (as opposed to mandatory), but definitely not going to be covered for byte-range locking.
A cursory search of the Lucene mailing list returns many results that seem to indicate that using Lucene (and, by extension, Solr) over NFS is a bad idea.
Locking issues aside, the performance will probably be pretty bad as well.
I know this isn’t the answer you were hoping for, but it’s the answer you need.