Ruby on rails 多个Solr实例-第二个Solr在启动时锁定

Ruby on rails 多个Solr实例-第二个Solr在启动时锁定,ruby-on-rails,solr,sunspot,sunspot-rails,Ruby On Rails,Solr,Sunspot,Sunspot Rails,我一直在试图找出一个工作流,在这个工作流中,我的Minitest套件将启动第二个Solr实例进行功能测试,即使开发实例正在运行。但是,我在启动服务器时遇到了一些问题(例如,在测试之外启动服务器时) 要启动我正在使用的服务器,请执行以下操作: RAILS_ENV=development bin/rake sunspot:solr:start RAILS_ENV=test bin/rake sunspot:solr:start 但是,无论哪台服务器第二次启动,都会被锁定。在测试或开发过程中访问服务

我一直在试图找出一个工作流,在这个工作流中,我的Minitest套件将启动第二个Solr实例进行功能测试,即使开发实例正在运行。但是,我在启动服务器时遇到了一些问题(例如,在测试之外启动服务器时)

要启动我正在使用的服务器,请执行以下操作:

RAILS_ENV=development bin/rake sunspot:solr:start
RAILS_ENV=test bin/rake sunspot:solr:start
但是,无论哪台服务器第二次启动,都会被锁定。在测试或开发过程中访问服务器的任何尝试都会产生以下错误:

RSolr::Error::Http - 500 Internal Server Error
Error:     {msg=SolrCore 'test& 'is not available due to init failure: Index locked for write for core 'test'. Solr now longer supports forceful unlocking via 'unlockOnStartup'. Please verify locks manually!,trace=org.apache.solr.common.SolrException: SolrCore 'test' is not available due to init failure: Index locked for write for core 'test'. Solr now longer supports forceful unlocking via 'unlockOnStartup'. Please verify locks manually!
    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/test/update?wt=ruby
Request Headers: {"Content-Type"=>"text/xml"}
Request Data: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><add/>"
我的
太阳黑子.yml
是:

production:
  solr:
    hostname: localhost
    port: 8983
    log_level: WARNING
    path: /solr/production

development:
  solr:
    hostname: localhost
    port: 8982
    log_level: INFO
    path: /solr/development

test:
  solr:
    hostname: localhost
    port: 8981
    log_level: WARNING
    path: /solr/test
最后,
solr.xml

<solr>

  <solrcloud>

    <str name="host">${host:}</str>
    <int name="hostPort">${jetty.port:8983}</int>
    <str name="hostContext">${hostContext:solr}</str>

    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
    <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>

  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:600000}</int>
    <int name="connTimeout">${connTimeout:60000}</int>
  </shardHandlerFactory>

</solr>

${host:}
${jetty.port:8983}
${hostContext:solr}
${genericCoreNodeNames:true}
${zkClientTimeout:30000}
${DistributUpdateSoTimeout:600000}
${DistributUpdateConnTimeout:60000}
${socketTimeout:600000}
${connTimeout:60000}
提前非常感谢

<solr>

  <solrcloud>

    <str name="host">${host:}</str>
    <int name="hostPort">${jetty.port:8983}</int>
    <str name="hostContext">${hostContext:solr}</str>

    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
    <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>

  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:600000}</int>
    <int name="connTimeout">${connTimeout:60000}</int>
  </shardHandlerFactory>

</solr>