2012-03-30 3 views
7

Diese Ausnahme wird oft ausgelöst, wenn das System einen neuen Datensatz db einfügt und den solr-Index aktualisiert, gibt es jemanden, der dasselbe Problem hat? wie man es vermeidet?Solr-Ausnahme im Server oft ausgelöst org.mortbay.jetty.EofException java.net.SocketException: Gebrochene Leitung

Mar 29, 2012 6:26:59 PM org.apache.solr.core.SolrCore execute 
INFO: [] webapp=/solr path=/update params={wt=ruby} status=0 QTime=110977 

Mar 29, 2012 6:26:59 PM org.apache.solr.common.SolrException log 
SEVERE: org.mortbay.jetty.EofException 
    at org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:791) 
    at org.mortbay.jetty.AbstractGenerator$Output.flush(AbstractGenerator.java:569) 
    at org.mortbay.jetty.HttpConnection$Output.flush(HttpConnection.java:1012) 
    at sun.nio.cs.StreamE`enter code here`ncoder.implFlush(Unknown Source) 
    at sun.nio.cs.StreamEncoder.flush(Unknown Source) 
    at java.io.OutputStreamWriter.flush(Unknown Source) 
    at org.apache.solr.common.util.FastWriter.flush(FastWriter.java:115) 
    at org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:344) 
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:265) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) 
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) 
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) 
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) 
    at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) 
    at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.Server.handle(Server.java:326) 
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945) 
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756) 
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) 
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) 
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 
Caused by: java.net.SocketException: Broken pipe 
    at java.net.SocketOutputStream.socketWrite0(Native Method) 
    at java.net.SocketOutputStream.socketWrite(Unknown Source) 
    at java.net.SocketOutputStream.write(Unknown Source) 
    at org.mortbay.io.ByteArrayBuffer.writeTo(ByteArrayBuffer.java:368) 
    at org.mortbay.io.bio.StreamEndPoint.flush(StreamEndPoint.java:129) 
    at org.mortbay.io.bio.StreamEndPoint.flush(StreamEndPoint.java:161) 
    at org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:714) 
    ... 25 more 

betrifft die Ausnahme die letzte QTIME?

Antwort

1

Ich habe diesen Fehler gesehen, und habe ein paar Dinge ausprobiert, die dem Problem geholfen haben, aber nichts, was ich sagen könnte, war eine "100% perfekte Lösung". Ich würde gerne hören, was du erlebst!

Hier sind einige Dinge, die ich versucht habe, die zu helfen scheinen:

1) Swap in jetty.xml von dem BIO zu NIO-Verbindung.
2) Erhöhen Sie Ihre Timeouts am Frontend.
3) Spielen Sie mit der Anzahl der Verbindungen, die in Jetty geöffnet werden können.

+0

Wir hatten Unterbrechungen in der Pipeline, als die Leerlaufzeitüberschreitung des Peers dazu führte, dass die TCP-Verbindung genau zur gleichen Zeit geschlossen wurde, zu der die persistente HTTP-Verbindung für eine andere Anforderung wiederverwendet wurde. (Siehe RFC-2616, Abschnitt 8.1.4.) – Joe23

+0

@ Joe23 kannst du erklären, was du meinst? – kamaci

Verwandte Themen