我們的應用程序使用嵌入式Solr實例進行搜索。數據目錄位於NFS上,我無法更改該目錄。 Solr的使用非常簡單,只有一個線程可以定期更新索引,並且有多個讀者線程 - 這些都在一個java進程中。沒有其他的Solr交互發生。Solr over NFS問題
使用默認的「solrconfig.xml」我有時會遇到「java.nio.channels.OverlappingFileLockException」。據我所知,原因實際上是「SimpleFSLockFactory」無法正常使用NFS。
問題:
鑑於以上(沒有併發指數的修改)中描述的應用場景,不應NoLockFactory夠嗎?使用NoLockFactory有什麼缺點?如果我設置NoLockFactory,我會在錯誤日誌中獲得許多條目,說「配置警告:鎖定已禁用」。爲什麼該消息進入錯誤日誌?這真的被認爲是一個錯誤的情況下,爲什麼?
也許有比使用「NoLockFactory」更好的解決方案?
不確定這與NFS有關,但有時(很少見)我的索引被破壞,並且在嘗試更新索引時出現很多「java.io.FileNotFoundException:_i.fdx」。除了手動刪除整個索引目錄並從頭開始,沒有其他辦法。爲什麼會發生這種情況,並有沒有優雅的方式來自動檢測破損的索引並恢復?
確定你正在使用簡單的鎖? 'java.nio.channels.OverlappingFileLockException'在我看來更像是一個原生的鎖定錯誤,但我可能是錯誤的。 – javanna 2012-03-07 12:29:50