Skip to content

Fixes SocketException: Resource temporarily unavailable (connect failed)#48

Open
damianszczepanik wants to merge 1 commit into
gurock:masterfrom
damianszczepanik:unavailable-resource
Open

Fixes SocketException: Resource temporarily unavailable (connect failed)#48
damianszczepanik wants to merge 1 commit into
gurock:masterfrom
damianszczepanik:unavailable-resource

Conversation

@damianszczepanik
Copy link
Copy Markdown

Fixes SocketException that is thrown after 100+ requests.

Problem
URL connection was not disposed like the IO streams so APIClient claims exception when trying to establish new connection that is result of 100+ opened connection that should be closed or reused.

Stacktrace:

Exception in thread "main" java.net.SocketException: Resource temporarily unavailable (connect failed)
        at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)
        at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)
        at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.base/java.net.Socket.connect(Socket.java:609)
        at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:305)
        at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
        at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
        at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:509)
        at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:604)
        at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)
        at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:373)
        at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:207)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
        at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:193)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1367)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1342)
        at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:246)
        at com.gurock.testrail.APIClient.sendRequest(APIClient.java:162)
        at com.gurock.testrail.APIClient.sendPost(APIClient.java:132)

Solution:
URL connection is closed so number of opened connection does not increase after each request

@damianszczepanik
Copy link
Copy Markdown
Author

@jonridera can you review/merge this pull request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant