RSolr::Error::Http - 500 Internal Server Error

RSolr::Error::Http - 500 Internal Server Error

我正在升级 solr 5.3.1,当我在 semaphoreci

上 运行 规格时出现以下错误

RSolr::Error::Http: RSolr::Error::Http - 500 Internal Server Error Error: {msg=SolrCore 'default' is not available due to init failure: Error opening new searcher,trace=org.apache.solr.common.SolrException: SolrCore 'default' is not available due to init failure: Error opening new searcher at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:974) at org.apache.solr.servlet.HttpSolrCall.init(HttpSolrCall.java:250) at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:417) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:214) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:179) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)

   URI: http://localhost:8981/solr/default/update?wt=json
   Request Headers: {"Content-Type"=>"application/json"}
   Request Data: "[{\"id\":\"Contact 1\",\"type\":[\"Contact\",\"ActiveRecord::Base\"],\"class_name\":\"Contact\",\"first_name_text\":\"Danial\",\"last_name_text\":\"Ullrich\"}]"

   Backtrace: /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-2.0.2/lib/rsolr/client.rb:195:in

rescue in execute' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-2.0.2/lib/rsolr/client.rb:185:in execute' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-2.0.2/lib/rsolr/client.rb:180:in send_and_receive' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sunspot_rails-2.2.7/lib/sunspot/rails/solr_instrumentation.rb:16:in block in send_and_receive_with_as_instrumentation' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/notifications.rb:164:in block in instrument' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/notifications/instrumenter.rb:20:in instrument' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/notifications.rb:164:in instrument' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/sunspot_rails-2.2.7/lib/sunspot/rails/solr_instrumentation.rb:15:in send_and_receive_with_as_instrumentation' (eval):2:in post' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-2.0.2/lib/rsolr/client.rb:83:in update' /home/runner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rsolr-2.0.2/lib/rsolr/client.rb:102:in add' # (eval):2:inpost' # ./spec/controllers/contacts_controller_spec.rb:319:in block (3 levels) in <top (required)>' # ------------------ # --- Caused by: --- # Faraday::ClientError: # the server responded with status 500 # (eval):2:inpost'

Solr 日志

1152 ERROR (coreLoadExecutor-6-thread-2) [   x:development] o.a.s.c.CoreContainer Error creating core [development]: Index locked for write for core 'development'. Solr now longer supports forceful unlocking via 'unlockOnStartup'. Please verify locks manually!
org.apache.solr.common.SolrException: Index locked for write for core 'development'. Solr now longer supports forceful unlocking via 'unlockOnStartup'. Please verify locks manually!
  at org.apache.solr.core.SolrCore.<init>(SolrCore.java:820)
  at org.apache.solr.core.SolrCore.<init>(SolrCore.java:659)
  at org.apache.solr.core.CoreContainer.create(CoreContainer.java:723)
  at org.apache.solr.core.CoreContainer.call(CoreContainer.java:443)
  at org.apache.solr.core.CoreContainer.call(CoreContainer.java:434)
  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.run(ExecutorUtil.java:210)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.lucene.store.LockObtainFailedException: Index locked for write for core 'development'. Solr now longer supports forceful unlocking via 'unlockOnStartup'. Please verify locks manually!
  at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:528)
  at org.apache.solr.core.SolrCore.<init>(SolrCore.java:761)

如有任何帮助,我们将不胜感激。

由于不正常关机,

write.lock 文件可能存在于 solr/{environment}/data/index 目录下。删除 write.lock 文件将解决问题。

即使 write.lock 不存在,我也遇到了这个问题。这是为我解决的问题:

1) 删除整个/solr目录

2) 运行 ps -ef|grep solr 查看任何 solr 进程 运行ning

3) 运行 kill -9 [solr pid] 对于步骤 2 中找到的每个进程

4) 运行 rake sunspot:solr:start 然后 rake sunspot:solr:reindex

希望对您有所帮助!