Search code examples
ruby-on-rails-3solrsunspot

Sunspot lock issue on EngineYard


I am having a problem when creating a new record on a RoR3 server. It updates SolR indexes and it's having a problem with a lock.

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)

Any help with this?


Solution

  • We had the same error when running sunspot solr on amazon ec2. The 'write'lock' indicated that some process had not released the lock on a resource, either the web server process was still at it or Solr had some other process running. I ran a check on the solr processes running by executing

    ps -aux |grep solr

    And it showed there were 4 processes running! So I stopped solr from the command : sunspot:solr:stop, then again ran the grep, killed the solr processes listed (kill -9) and then sunspot:solr:start And the Sun shined again. It worked fine there after