2010-09-11 9 views
1

Je réindexais mon modèle lorsque je fermais soudainement mon mac, Lorsque j'essaie de réindexer à nouveau en utilisant (Model_name) .reindex dans le script/console, j'ai rencontré une erreur que je n'ai pas rencontré avant.RSolr RequestError Solr Réponse Erreurs graves dans la configuration de solr

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 

Maintenant, je n'ai pas été en mesure de corriger l'erreur. Aidez-moi, s'il vous plaît. Je ne peux pas en bouger un. Merci beaucoup à l'avance

+0

Tout comme l'indique l'exception, votre configuration n'est pas valide. Postez-le pour que nous puissions le diagnostiquer. –

Répondre

5

Probablement que le dossier d'index a été corrompu et que vous avez obtenu une situation de blocage, il n'y a rien de mal à la configuration de solr. Voici ce que j'ai fait:

  • J'ai effacé le dossier index solr.
  • Changé l'attribut suivant dans solrconfig.xml false:

    <abortOnConfigurationError>false</abortOnConfigurationError> 
    
  • restart solr si vous utilisez
  • réindexer solr;
  • définissez l'attribut abortOnConfigurationError sur la valeur d'origine;
  • réindexé à nouveau juste pour être sûr que ayant abortOnConfigurationError=false ne m'a pas fait obtenir un index erroné.
5

Vérifiez le processus en cours d'exécution pour valider l'emplacement du fichier tmp, puis arrêtez le processus sunspot-solr et supprimez enfin ce fichier tmp.

par exemple:

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 

donc vous devez supprimer le fichier /var/folders/QJ/QJJ4EWSXEpOEtXE8SN7iS++++TI/-Tmp-

puis recommencer le processus. ça devrait marcher.

+0

Impossible de supprimer un fichier -Tmp- car il s'agit simplement d'un lien symbolique. Dissocier ce que vous voulez dire ou supprimer le répertoire entier? – Trip

+0

@Trip juste le fichier pas le répertoire entier. Avez-vous sudo? – Aldo

+0

Ah, fera la prochaine fois. C'était sur mon local, et si je viens de redémarrer; cela résout le problème. Merci! – Trip