[SOLVED ]java.net.SocketTimeoutException: Read timed out

StaryVena
StaryVena New Altair Community Member
edited November 5 in Community Q&A
Hello,
I have problem with access to remote repository with large files. When I try to list directory with 22 files (each file has about 200 MB) I get this error:

Exception: javax.xml.ws.WebServiceException
Message: java.net.SocketTimeoutException: Read timed out
Stack trace:

 com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(HttpClientTransport.java:196)
 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:212)
 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:203)
 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:122)
 com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)
 com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:626)
 com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:585)
 com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:570)
 com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:467)
 com.sun.xml.internal.ws.client.Stub.process(Stub.java:308)
 com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:146)
 com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
 com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
 com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:129)
 $Proxy31.getFolderContents(Unknown Source)
 com.rapidminer.repository.remote.RemoteFolder.ensureLoaded(RemoteFolder.java:126)
 com.rapidminer.repository.remote.RemoteFolder.getSubfolders(RemoteFolder.java:157)
 com.rapidminer.repository.gui.RepositoryTreeModel$3.run(RepositoryTreeModel.java:258)

Cause
Exception: java.net.SocketTimeoutException
Message: Read timed out
Stack trace:

 java.net.SocketInputStream.socketRead0(Native Method)
 java.net.SocketInputStream.read(SocketInputStream.java:150)
 java.net.SocketInputStream.read(SocketInputStream.java:121)
 java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
 java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
 java.io.BufferedInputStream.read(BufferedInputStream.java:334)
 sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:633)
 sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
 sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322)
 java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
 com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(HttpClientTransport.java:192)
 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:212)
 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:203)
 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:122)
 com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)
 com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:626)
 com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:585)
 com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:570)
 com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:467)
 com.sun.xml.internal.ws.client.Stub.process(Stub.java:308)
 com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:146)
 com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
 com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
 com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:129)
 $Proxy31.getFolderContents(Unknown Source)
 com.rapidminer.repository.remote.RemoteFolder.ensureLoaded(RemoteFolder.java:126)
 com.rapidminer.repository.remote.RemoteFolder.getSubfolders(RemoteFolder.java:157)
 com.rapidminer.repository.gui.RepositoryTreeModel$3.run(RepositoryTreeModel.java:258)
But folder with 22 images with size of 44 MB is OK.
My question is: where can I increase this read timeout?

Thank you.

Best,
Václav

Answers

  • Nils_Woehler
    Nils_Woehler New Altair Community Member
    Hi Václav,

    you can set the timeout in the WebServiceTools in RapidMiner. In the current development version it is set to 20000.
    What would you suggest to set it to, especially with your folder with big files?

    Best,
    Nils
  • StaryVena
    StaryVena New Altair Community Member
    Hi Nils,
    it takes 64 seconds to resolve the file list of that folder. I don't think it is a good idea to set timeout to this value, because it is quite special case. But maybe you can put this value to the preferences.
    And thank you for help  ;)

    Best,
    Václav
  • Nils_Woehler
    Nils_Woehler New Altair Community Member
    Hi Václav,

    thanks. We have added the connection timeout as a preferences parameter.

    Best,
    Nils