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

Amazon 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 に答える