Issue Type: Bug Bug
Affects Versions: current
Assignee: Unassigned
Components: fitnesse
Created: 26/Jun/13 3:02 AM
Description:

We get this socket timeout the odd occasion, as you can see we have tried setting the HttpTimeout to a big number but it doesn't seem to help.

12:59:36 hudson.plugins.fitnesse.FitnesseBuilder: {fitnesseTargetPage=PayrollTeam.ModulePayroll.AaTaxArea.NewZealandTax, fitnesseTargetIsSuite=true, fitnesseHost=Private, fitnesseHttpTimeout=2700000, fitnessePortRemote=8886, fitnesseStart=False, fitnessePathToXmlResultsOut=C:\PayGlobal\FitNesse\Results\XESuiteNZTax_Results.xml}
12:59:36 Connnecting to http://PAYFIT003:8886/PayrollTeam.ModulePayroll.AaTaxArea.NewZealandTax?suite&format=xml&includehtml
12:59:36 Connected: 200/OK
13:44:46 java.net.SocketTimeoutException: Read timed out
13:44:46 at java.net.SocketInputStream.socketRead0(Native Method)
13:44:46 at java.net.SocketInputStream.read(Unknown Source)
13:44:46 at java.net.SocketInputStream.read(Unknown Source)
13:44:46 at java.io.BufferedInputStream.fill(Unknown Source)
13:44:46 at java.io.BufferedInputStream.read1(Unknown Source)
13:44:46 at java.io.BufferedInputStream.read(Unknown Source)
13:44:46 at sun.net.www.http.ChunkedInputStream.readAheadBlocking(Unknown Source)
13:44:46 at sun.net.www.http.ChunkedInputStream.readAhead(Unknown Source)
13:44:46 at sun.net.www.http.ChunkedInputStream.read(Unknown Source)
13:44:46 at java.io.FilterInputStream.read(Unknown Source)
13:44:46 at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
13:44:46 at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
13:44:46 at hudson.plugins.fitnesse.FitnesseExecutor.getHttpBytes(FitnesseExecutor.java:230)
13:44:46 at hudson.plugins.fitnesse.FitnesseExecutor$1.run(FitnesseExecutor.java:201)
13:44:46 at java.lang.Thread.run(Unknown Source)

I've had a quick look at the code and I'm pretty sure this is where it is crashing:

try {
log.println("Connnecting to " + pageCmdTarget);
HttpURLConnection connection = (HttpURLConnection) pageCmdTarget.openConnection();
connection.setReadTimeout(httpTimeout);
log.println("Connected: " + connection.getResponseCode() + "/" + connection.getResponseMessage());

inputStream = connection.getInputStream();
long recvd = 0, lastLogged = 0;
byte[] buf = new byte[4096];
int lastRead;
while ((lastRead = inputStream.read(buf)) > 0) {
bucket.write(buf, 0, lastRead);
timeout.reset();
recvd += lastRead;
if (recvd - lastLogged > 1024) { log.println(recvd/1024 + "k..."); lastLogged = recvd; }
}
} catch (IOException e) { // this may be a "premature EOF" caused by e.g. incorrect content-length HTTP header // so it may be non-fatal -- try to recover e.printStackTrace(log); } finally {
if (inputStream != null) {
try { inputStream.close(); } catch (Exception e) { // swallow }
}
}

I'm not very good with networking code so would someone please be able to look at this for me and see if there is an issue or suggest something environmentally we could do to avoid these timeouts?

Cheers,
Sam

Project: Jenkins
Priority: Major Major
Reporter: Sam Jessop
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply via email to