2

在 RoR3 服务器上创建新记录时遇到问题。它更新了 SolR 索引,并且它遇到了锁问题。

RSolr::Error::Http (RSolr::Error::Http - 500 Internal Server Error
Error:     Lock obtain timed out: NativeFSLock@/data/dfcgit_r3/releases/20130620195714/solr/data/production/index/write.lock

org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/data/dfcgit_r3/releases/20130620195714/solr/data/production/index/write.lock
    at org.apache.lucene.store.Lock.obtain(Lock.java:84)
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1108)
    at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:83)
    at org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:101)
    at org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:171)
    at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:219)

有什么帮助吗?

4

1 回答 1

3

在亚马逊 ec2 上运行 sunspot solr 时,我们遇到了同样的错误。'write'lock' 表示某个进程尚未释放资源上的锁,要么是 Web 服务器进程仍在其上,要么是 Solr 有其他进程正在运行。我通过执行检查了正在运行的 solr 进程

ps -aux |grep solr

它显示有 4 个进程正在运行!所以我从命令中停止了 solr:sunspot:solr:stop,然后再次运行 grep,杀死列出的 solr 进程(kill -9),然后 sunspot:solr:start 并且太阳再次闪耀。之后在那里工作得很好

于 2013-06-27T09:59:32.337 回答