-
Notifications
You must be signed in to change notification settings - Fork 26
Description
We have multiple threads to upload files simultaneously to netstorage from two different hosts.
Most of the time it performs well, but sometimes it will throw Communication Error.
Is there any enhancement related to it in the TODO list?
- TODO: support rebinding on IO communication errors (eg: connection reset)
--
| * TODO: support async IO
| * TODO: support multiplexing of uploads
| * TODO: optimize and adapt throughput based on connection latency
| * TODO: support HTTP trailers for late SHA256 validation
Caused by: com.akamai.netstorage.NetStorageException: Communication Error
at com.akamai.netstorage.NetStorageCMSv35Signer.execute(NetStorageCMSv35Signer.java:359) ~[NetStorageKit-3.6.6.jar:?]
at com.akamai.netstorage.NetStorageCMSv35Signer.execute(NetStorageCMSv35Signer.java:364) ~[NetStorageKit-3.6.6.jar:?]
at com.akamai.netstorage.NetStorage.execute(NetStorage.java:68) ~[NetStorageKit-3.6.6.jar:?]
... 141 more
Caused by: java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_232]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_232]
at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_232]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_232]
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[?:1.8.0_232]
at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[?:1.8.0_232]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975) ~[?:1.8.0_232]
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:933) ~[?:1.8.0_232]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) ~[?:1.8.0_232]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_232]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[?:1.8.0_232]
at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[?:1.8.0_232]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) ~[?:1.8.0_232]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) ~[?:1.8.0_232]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1593) ~[?:1.8.0_232]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498) ~[?:1.8.0_232]
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[?:1.8.0_232]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:352) ~[?:1.8.0_232]
at com.akamai.netstorage.NetStorageCMSv35Signer.validate(NetStorageCMSv35Signer.java:270) ~[NetStorageKit-3.6.6.jar:?]
at com.akamai.netstorage.NetStorageCMSv35Signer.execute(NetStorageCMSv35Signer.java:348) ~[NetStorageKit-3.6.6.jar:?]
at com.akamai.netstorage.NetStorageCMSv35Signer.execute(NetStorageCMSv35Signer.java:364) ~[NetStorageKit-3.6.6.jar:?]
at com.akamai.netstorage.NetStorage.execute(NetStorage.java:68) ~[NetStorageKit-3.6.6.jar:?]