在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)
对此有何帮助?
答案 0 :(得分:3)
在亚马逊ec2上运行太阳黑子solr时遇到了同样的错误。 'write'lock'表示某个进程没有释放资源上的锁,无论是Web服务器进程还是它还是Solr还有其他进程正在运行。我通过执行
检查了运行的solr进程ps -aux | grep solr
它显示有4个进程正在运行!所以我从命令中停止了solr:sunspot:solr:stop,然后再次运行grep,杀死列出的solr进程(kill -9)然后sunspot:solr:start 太阳再次闪耀。
后,它在那里工作得很好