我正在使用FIP将一个ToolTwist应用程序部署到生产服务器上,并且在传输阶段得到了这个错误。
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)在fipserver控制台中
org.eclipse.jetty.io.EofException
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:892)
at org.eclipse.jetty.http.AbstractGenerator.blockForOutput(AbstractGenerator.java:486)
at org.eclipse.jetty.http.AbstractGenerator.flush(AbstractGenerator.java:424)
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:78)
at org.eclipse.jetty.server.HttpConnection$Output.flush(HttpConnection.java:1094)
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:159)
at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:98)
at tooltwist.fip.jetty.GetFileListServlet.doGet(GetFileListServlet.java:82)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:94)解决这个问题的办法应该是什么?
发布于 2016-04-22 04:04:20
此错误发生在FIP文件传输的第一阶段,其中,fipserver创建目标服务器上现有文件的索引。这是在GetFileListServlet.doGet()中完成的,可以在堆栈跟踪中看到。它还在客户端由消息指示.
Indexing source...
Indexing destination...
ERROR: java.net.SocketTimeoutException Read timed out
Exception: tooltwist.fip.FipException: java.net.SocketTimeoutException: Read timed out 此索引过程包括为目标服务器上的每个文件创建一个散列,然后fip客户端将其与源计算机上的文件哈希进行比较。它这样做是为了确定哪些文件是不同的,因此需要安装。
当客户端等待FIP服务器对目标计算机上的文件进行索引时,会发生读取超时。索引通常是一个相当快的过程,但确实涉及到读取目标目录下的所有文件(例如,在~/server中)。如果目标目录中存在巨大的文件,那么扫描将需要相当长的时间才能完成。如果时间太长,则客户端超时并删除连接,服务器也会看到连接被删除并停止索引。
造成此错误的最常见原因是~/server/tomcat/ log中的日志文件过大。如果你把这些清理干净,问题就解决了。
https://stackoverflow.com/questions/36784092
复制相似问题