【问题标题】:RSolr RequestError Solr Response Severe errors in solr configurationRSolr RequestError Solr 响应 solr 配置中的严重错误
【发布时间】:2010-09-11 12:09:00
【问题描述】:

当我突然关闭我的 mac 时,我正在重新索引我的模型, 当我尝试在脚本/控制台中使用 (Model_name).reindex 再次重新索引时,遇到了一个我以前没有遇到过的错误。

RSolr::RequestError: Solr Response: Severe_errors_in_solr_configuration__Check_your_log_files_for_more_detailed_information_on_what_may_be_wrong__If_you_want_solr_to_continue_after_configuration_errors_change____abortOnConfigurationErrorfalseabortOnConfigurationError__in_null___javalangRuntimeException_javaioIOException_read_past_EOF__at_orgapachesolrcoreSolrCoregetSearcherSolrCorejava1068__at_orgapachesolrcoreSolrCoreinitSolrCorejava579__at_orgapachesolrcoreCoreContainer$InitializerinitializeCoreContainerjava137__at_orgapachesolrservletSolrDispatchFilterinitSolrDispatchFilterjava83__at_orgmortbayjettyservletFilterHolderdoStartFilterHolderjava99__at_orgmortbaycomponentAbstractLifeCyclestartAbstractLifeCyclejava40__at_orgmortbayjettyservletServletHandlerinitializeServletHandlerjava594__at_orgmortbayjettyservletContextstartContextContextjava139__at_orgmortbayjettywebappWebAppContextstartContextWebAppContextjava1218__at_orgmortbayjettyhandlerContextHandlerdoStartContextHandlerjava500__at_orgmortbayjettywebappWebAppContextdoStartWebAppContextjava448__at_orgmortbaycomponentAbstractLifeCyclestartAbstractLifeCyclejava40__at_orgmortbayjettyhandlerHandlerCollectiondoStartHandlerCollectionjava147__at_orgmortbayjettyhandlerContextHandlerCollectiondoStartContextHandlerCollectionjava161__at_orgmortbaycomponentAbstractLifeCyclestartAbstractLifeCyclejava40__at_orgmortbayjettyhandlerHandlerCollectiondoStartHandlerCollectionjava147__at_orgmortbaycomponentAbstractLifeCyclestartAbstractLifeCyclejava40__at_orgmortbayjettyhandlerHandlerWrapperdoStartHandlerWrapperjava117__at_orgmortbayjettyServerdoStartServerjava210__at_orgmortbaycomponentAbstractLifeCyclestartAbstractLifeCyclejava40__at_orgmortbayxmlXmlConfigurationmainXmlConfigurationjava929__at_sunreflectNativeMethodAccessorImplinvoke0Native_Method__at_sun
        from /usr/local/lib/ruby/gems/1.8/gems/rsolr-0.12.1/lib/rsolr/connection/requestable.rb:39:in `request'
        from /usr/local/lib/ruby/gems/1.8/gems/rsolr-0.12.1/lib/rsolr/client.rb:34:in `request'
        from /usr/local/lib/ruby/gems/1.8/gems/rsolr-0.12.1/lib/rsolr/client.rb:22:in `update'
        from /usr/local/lib/ruby/gems/1.8/gems/rsolr-0.12.1/lib/rsolr/client.rb:76:in `delete_by_query'
        from /usr/local/lib/ruby/gems/1.8/gems/sunspot-1.1.0/lib/sunspot/indexer.rb:55:in `remove_all'
        from /usr/local/lib/ruby/gems/1.8/gems/sunspot-1.1.0/lib/sunspot/session.rb:173:in `remove_all'
        from /usr/local/lib/ruby/gems/1.8/gems/sunspot-1.1.0/lib/sunspot/session.rb:173:in `each'
        from /usr/local/lib/ruby/gems/1.8/gems/sunspot-1.1.0/lib/sunspot/session.rb:173:in `remove_all'
        from /usr/local/lib/ruby/gems/1.8/gems/sunspot-1.1.0/lib/sunspot/session_proxy/abstract_session_proxy.rb:11:in `remove_all'
        from /usr/local/lib/ruby/gems/1.8/gems/sunspot-1.1.0/lib/sunspot.rb:414:in `remove_all'
        from /Users/cecilleann/Projects/dhire2/vendor/plugins/sunspot_rails-1.1.0/lib/sunspot/rails/searchable.rb:164:in `solr_remove_all_from_index'
        from /Users/cecilleann/Projects/dhire2/vendor/plugins/sunspot_rails-1.1.0/lib/sunspot/rails/searchable.rb:183:in `reindex'
        from (irb):6

现在我无法修复错误。请帮我。我动不了一个。 提前非常感谢

【问题讨论】:

  • 正如异常所说,您的配置无效。发布它,以便我们进行诊断。

标签: ruby-on-rails ruby solr sunspot


【解决方案1】:

可能是 index 文件夹损坏,solr 出现“死锁”情况,solr 配置没有问题。 这是我所做的:

  • 我删除了 solr 索引文件夹。
  • 将 solrconfig.xml 中的以下属性更改为 false:

      <abortOnConfigurationError>false</abortOnConfigurationError>
    
  • 如果正在运行,请重新启动 solr
  • 重新索引 solr;
  • 将 abortOnConfigurationError 属性设置为原始值;
  • 再次重新编制索引,以确保拥有abortOnConfigurationError=false 不会让我得到错误的索引。

【讨论】:

    【解决方案2】:

    检查正在运行的进程以验证 tmp 文件指向的位置,然后停止 sunspot-solr 进程并最终删除该 tmp 文件。

    例如:

    ps -ef | grep sunspot
    ps -ef | grep solr
    501 53845     1   0   0:00.42 ??         0:02.99 /usr/bin/java 
    -Dsolr.data.dir=/var/folders/QJ/QJJ4EWSXEpOEtXE8SN7iS++++TI/-Tmp- 
    -Dsolr.solr.home=/Users/aldonievas/.rvm/gems/ruby-1.9.2-p0/gems/sunspot-1.1.0/solr/solr 
    -jar start.jar
    

    所以你应该删除文件/var/folders/QJ/QJJ4EWSXEpOEtXE8SN7iS++++TI/-Tmp-

    然后重新开始该过程。它应该工作。

    【讨论】:

    • 无法删除 -Tmp- 文件,因为它只是一个符号链接。您的意思是取消链接还是删除整个目录?
    • @Trip 只是文件而不是整个目录。你有 sudo 吗?
    • 啊,下次再做。它在我的本地,如果我只是重新启动;解决了这个问题。谢谢!
    • 辛苦了!惊人的!对于那些可能会遇到小错误的人,您必须通过键入以下内容将其删除:rm -rf ./-Tmp-/
    猜你喜欢
    • 2013-08-02
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    相关资源
    最近更新 更多