0

I tried adding a retry policy (https://stackoverflow.com/a/22169775/2098493)

but the error persist when file being uploaded is larger than 1mb.

 W/System.err: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: Write error: ssl=0xafc3fe00: I/O error during system call, Connection reset by peer
 W/System.err:     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:151)
 W/System.err:     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)
 W/System.err: Caused by: javax.net.ssl.SSLException: Write error: ssl=0xafc3fe00: I/O error during system call, Connection reset by peer
 W/System.err:     at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
 W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:765)
 W/System.err:     at com.android.okio.Okio$1.write(Okio.java:70)
 W/System.err:     at com.android.okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:116)
 W/System.err:     at com.android.okio.RealBufferedSink.write(RealBufferedSink.java:44)
 W/System.err:     at com.android.okhttp.internal.http.RetryableSink.writeToSocket(RetryableSink.java:77)
 W/System.err:     at com.android.okhttp.internal.http.HttpConnection.writeRequestBody(HttpConnection.java:240)
 W/System.err:     at com.android.okhttp.internal.http.HttpTransport.writeRequestBody(HttpTransport.java:77)
 W/System.err:     at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622)
 W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:388)
 W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:332)
 W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:500)
 W/System.err:     at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
 W/System.err:     at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)
 W/System.err:     at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:110)
 W/System.err:     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96)

Thanks for your advice.

Community
  • 1
  • 1
Woppi
  • 5,303
  • 11
  • 57
  • 81
  • It seems network connection out for your upload file. Use Volly's Retry policy. [link] {http://stackoverflow.com/questions/17094718/change-volley-timeout-duration/17179436#17179436} – Rv Lalwani Jan 11 '17 at 09:24
  • @RvLalwani I already did before posting this on SO, it's in the link I mentioned on this question also. :) Thanks. – Woppi Jan 11 '17 at 09:29
  • 1
    Which server you are using ,is IIS 8 ? – Rv Lalwani Jan 11 '17 at 09:39

1 Answers1

0

The solution was a combination of adding Volley Retry Policy and making sure back-end and server (nodejs/nginx) max uploaded file size are both set correctly.

//where RETRY_DEFAULT_TIMEOUT_MS = 5000,  RETRY_DEFAULT_MAX_RETRIES = 3, RETRY_DEFAULT_BACKOFF_MULT = 2.0f

    request.setRetryPolicy(new DefaultRetryPolicy(RETRY_DEFAULT_TIMEOUT_MS,
            RETRY_DEFAULT_MAX_RETRIES,
            RETRY_DEFAULT_BACKOFF_MULT));
Woppi
  • 5,303
  • 11
  • 57
  • 81