2012-03-30 12 views
7

esta excepción se plantea a menudo cuando el sistema inserta un nuevo registro db y actualiza el índice de solr, ¿hay alguien que tenga el mismo problema? cómo evitarlo?Excepción de Solr planteada en el servidor a menudo org.mortbay.jetty.EofException java.net.SocketException: tubería rota

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 

hace la excepción relacionada con el último QTIME?

Respuesta

1

He visto este error y he intentado un par de cosas que han ayudado al problema, pero nada de lo que podía decir era una "solución 100% perfecta". Me encantaría escuchar lo que experimentas!

Estas son algunas cosas que he intentado que parecen ayudar:

1) de intercambio en jetty.xml del BIO a la conexión NIO.
2) Aumente sus tiempos de espera en el frente.
3) Juega con la cantidad de conexiones que se pueden abrir en Jetty.

+0

Hemos tenido excepciones de tuberías rotas, cuando el tiempo de espera inactivo del par provocó que la conexión de tcp se cerrara al mismo tiempo que la conexión http persistente se reutilizó para otra solicitud. (Ver RFC-2616, sección 8.1.4.) – Joe23

+0

@ Joe23 ¿Puedes explicar a qué te refieres? – kamaci

Cuestiones relacionadas