2010-05-24 16 views
10

Uygulamamda Solr üzerinde çalışıyorum. apache-solr-solrj-1.4.0.jar kullanıyorum.SolrException: İç Sunucu Hatası

org.apache.solr.common.SolrException:

ben CommonsHttpSolrServer den add(SolrInputDocument doc) aramaya çalıştığımda

, aşağıdaki özel durum alıyorum iç sunucu hatası iç sunucu hatası org.apache.solr de org.apache.solr.client adresinden org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request (CommonsHttpSolrServer.java:243) adresinde. orsol.apache.solr.client.solr adresinde. j.SolrServer.add (SolrServer.java:64)

Bu sorunu çözmemde bana yardımcı olabilecek herhangi biri var mı?

<lockType>native</lockType> 
<unlockOnStartup>false</unlockOnStartup> 
<reopenReaders>true</reopenReaders> 

Ben Solr sunucu günlüklerinde şu istisna alıyorum:

24 May, 2010 2

aşağıdaki

solrconfig.xml yılında nitelikler şunlardır: 51:22 AM org.apache.solr.common.SolrException günlüğü YETENEK: java.lang.NullPointerException org.apache.solr.handler.ReplicationHandler $ 4.p ostCommit org.apache.solr.update.UpdateHandler.callPostCommitCallbacks de (ReplicationHandler.java:922) (UpdateHandler.java:78) org.apache.solr.update.DirectUpdateHandler2.commit (DirectUpdateHandler2.java:411) en de org.apache.solr.update.processor.RunUpdateProcessor.processCommit (RunUpdateProcessorFactory.java:85) org.apache.solr.handler.RequestHandlerUtils.handleCommit (RequestHandlerUtils.java:107) adresinden org.apache.solr.handler adresinde. Org.apache.solr.handler.RequestHandlerBase.handleRequest adresindeki ContentStreamHandlerBase.handleRequestBody (ContentStreamHandlerBase.java:48) (RequestHandlerBase.java:131) org.apache.solr.core.SolrCore.execute (SolrCore.java:1316) Org.apache.solr.servlet.SolrDispatchFilter.execute (SolrDispatchFil) adresinden ter.java:338) org org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) de org.apache.solr.servlet.SolrDispatchFilter.doFilter (SolrDispatchFilter.java:241) de . org.apache.catalina.core.StandardContextValve.invoke de org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233) de apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) (StandardContextValve.java:191) org org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102) de org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:128) de . apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109)Org.apache.catalina.ha.session.JvmRouteBinderValve.invoke (JvmRouteBinderValve.java:210) adresindeki orj.apache.catalina.ha.tcp.ReplicationValve.invoke (ReplicationValve.java:347) adresindeki org.apache adresindekiadresinden edinilebilir. catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:293) org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java: 190) org.apache.jk.common.HandlerRequest.invoke adresinde (HandlerRequest.java:291) org.apache.jk.common.ChannelSocket.invoke adresinde (ChannelSocket.java:769) org.apache adresinde bulunabilir. org.apache.tomcat.util.threads.ThreadPool $ adresindeki org.apache.jk.common.ChannelSocket $ SocketConnection.runIt (ChannelSocket.java:891) adresinden jk.common.ChannelSocket.processConnection (ChannelSocket.java:698) java.lang.Thread.run de ControlRunnable.run (ThreadPool.java:690) (Thread.java:619)


BİLGİ: {} 0 1039 0.123.24 Mayıs, 2010 2:52:29 AM org.apache.solr.common.SolrException günlüğü DAVET: org.apache.lucene.store.LockObtainFailedException: Kilitleme zaman aşımına uğradı: NativeFSLock @./Solr/data/index/lucene org.apache.lucene.store.Lock.obtain (Lock.java:85) adresinde org.apache.lucene.index.IndexWriter.init (IndexWriter.java:1545) adresinde numaralı telefondan org. apache.lucene.index.IndexWriter. org.apache.solr.update.SolrIndexWriter de (IndexWriter.java:1402) . (SolrIndexWriter.java:190) org.apache.solr.update.UpdateHandler.createMainIndexWriter de (UpdateHandler. java: 98) org.apache.solr.update.DirectUpdateHandler2.openWriter adresindeki (DirectUpdateHandler2.java:173) org.apache.solr.update.DirectUpdateHandler2.add adresinde Org.apache.solr.update.processor.RunUpdateProcessor.processAdd adresindeki Doc (DirectUpdateHandler2.java:220) (RunUpdateProcessorFactory.java:61) adresindeki org.apache.solr.handler.XMLLoader.processUpdate (XMLLoader.java:139) org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody de org.apache.solr.handler.XMLLoader.load (XMLLoader.java:69) (ContentStreamHandlerBase.java:54) org.apache.solr.handler en de . Org.apache.solr.core.SolrCore.execute (SolrCore.java:1316) adresinden org.apache.solr.servlet.SolrDispatchFilter.execute adresindeki RequestHandlerBase.java:131 (RequestHandlerBase.java:131) (SolrDispatchFilter.java:338) Org.apache.solr.servlet.SolrDispatchFilter.doFilter (SolrDispatchFilter.java:241) adresinde veya numaralı telefondan veya numaralı telefondan org.apache.catalina.core.StandardWrapperValve adresinden org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) adresinden g.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) . çağırmak (StandardWrapperValve.java:233) org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) en org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:128) en de org.apache.catalina.ha.session adresindeki org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) adresinden org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102) . JvmRouteBinderValve.invoke (JvmRouteBinderValve.java:210) org.apache.catalina.ha.t org.apache.catalina.connector.CoyoteAdapter.service adresindeki cp.ReplicationValve.invoke (ReplicationValve.java:347) (CoyoteAdapter.java:293) org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java: 190) org.apache.jk.common.HandlerRequest.invoke (HandlerRequest.java:291) adresindeki org.apache.jk.common.ChannelSocket.invoke (ChannelSocket.java:769) adresindeki org.apache.jk adresindeki . org.apache.jk.common.ChannelSocket $ SocketConnection.runIt (ChannelSocket.java:891) adresindeki org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable adresindeki common.ChannelSocket.processConnection (ChannelSocket.java:698) . run (ThreadPool.java:690) java.lang.Thread.run (Konu.java: 619)

cevap

1

Çok emin değilim, ama bu thread

http://www.mail-archive.com/[email protected]/msg08048.html

onlar bu sürece güvende olması gerektiğini düşünüyorum

<unlockOnStartup>true</unlockOnStartup> 

ve

<lockType>simple</lockType> 

kullanmak tavsiye indeksi solr ya da solrj (lusen değil!) aracılığıyla erişebilirsiniz.

Diğer fikirler?

+0

? Bu rağmen –

0

SolrJ istemci size gerçek hatayı vermez. Tomcat veya İskelenin (ya da solr ne olursa olsun) altında bulunması gereken solr sunucu kayıtlarına bakmayı deneyin.

5

benim solrconfig.xml şu ayarları ve çalışıyor olması. Ayrıca

<lockType>simple</lockType> 
<unlockOnStartup>true</unlockOnStartup> 

, set dizin dizinine yazma kilidi durumları önlemek için aşağıdaki:

<maxFieldLength>10000</maxFieldLength> 
<writeLockTimeout>60000</writeLockTimeout> 
<commitLockTimeout>60000</commitLockTimeout> 
+0

doğru gibi görünüyor '' 'unlockOnStartup''' Eğer kilitleme ve hiç etkisi olmamalıdır zaman aşımı ayarı değildir devraldı görünüyor. En azından solrconfig.xml – brutuscat

+0

https://cwiki.apache.org/confluence/display/solr/IndexConfig+in+SolrConfig belgesindeki belgelere dayanmaktadır: maxFieldLength parametresi Solr 4'te kaldırılmıştır. Sizin için önemli olan, sınırlamak istediğiniz alanlar için tanımlanabilecek LimitTokenCountFactory ile benzer davranışlar elde edebilirsiniz. Örneğin, alanı 10.000 karakterle sınırlayacaktır. [/ Code] –

0

.. Garibi benzer ve yeniden başlatma şey çalıştı vardı bozuk indeksi veya meşgul kilit dosyası gibi.

0

Bazı güncelleme eylemleri sonrasında write.lock dosyayı kaldırmak için başarısız geliyor. Çekirdeğin veri/dizin klasöründeki write.lock öğesinin kaldırılması bu sorunu geçici olarak çözecek ve güncelleme işlemini yeniden kazanacaktır. Güncelleme için post.jar kullanarak biliyorum stream.body ile url nadiren bu soruna neden ise bu soruna neden olduğu daha kötü şans vardır. Karussel'in cevabı durumu iyileştirdi, ancak hiç çözmediği görünüyor. Solr'ın bazı tasarım sorunlarından kaynaklandığından kuşkuluyum. Hope Solr 4 bu sorunu çözdü. Ayrıca kimse bu söz konusu cevap başvurabilirsiniz: Bu true ve basit bahar önyükleme için eklenecek olan yok how-to-solve-the-lock-obtain-timed-out-when-using-solr-plainly