|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
S3 GET connection failed forHi,
I have some code that uploads thousands of objects into S3, using several threads at a time. For some reason, the code runs fine for for awhile and then it suddenly starts throwing exceptions that look like this: [2009-06-01 02:19:34 PDT] <S3HTMLBucketThread-archive.adjix.com : 4xpd-20090501-20090531-713e20e95a60410499d9b79ec596e7a5.csv> archive.adjix.com Exception writing HTML file to bucket = org.jets3t.service.S3ServiceException: S3 GET connection failed for '/' org.jets3t.service.S3ServiceException: S3 GET connection failed for '/' at org .jets3t .service .impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java: 516) at org .jets3t .service .impl.rest.httpclient.RestS3Service.performRestGet(RestS3Service.java: 752) at org .jets3t .service .impl .rest.httpclient.RestS3Service.listAllBucketsImpl(RestS3Service.java: 1041) at org.jets3t.service.S3Service.listAllBuckets(S3Service.java:1348) at org.jets3t.service.S3Service.getBucket(S3Service.java:1578) at org.jets3t.service.S3Service.getOrCreateBucket(S3Service.java:1601) at com.woextras.S3Utilities.bucketNamed(S3Utilities.java:50) at com.woextras.S3HTMLBucketThread.run(S3HTMLBucketThread.java:82) Caused by: java.net.SocketException: Invalid argument at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293) at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331) at com .sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java: 723) at com .sun .net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java: 1366) at com .sun .net.ssl.internal.ssl.HandshakeOutStream.flush(HandshakeOutStream.java: 103) at com.sun.net.ssl.internal.ssl.Handshaker.kickstart(Handshaker.java: 528) at com .sun .net .ssl.internal.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java: 1120) at com .sun .net .ssl .internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java: 1029) at com .sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java: 622) at com .sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at org .apache .commons .httpclient .HttpConnection.flushRequestOutputStream(HttpConnection.java:828) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager $ HttpConnectionAdapter .flushRequestOutputStream(MultiThreadedHttpConnectionManager.java:1565 ) at org .apache .commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java: 2116) at org .apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java: 1096) at org .apache .commons .httpclient .HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) at org .apache .commons .httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java: 171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java: 397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java: 323) at org .jets3t .service .impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java: 342) ... 7 more Any help would be appreciated. - Joe --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@... For additional commands, e-mail: users-help@... |
|
|
Re: S3 GET connection failed forHi Joe,
I haven't come across this kind of error before so I'm afraid I don't have any solutions. I've done some Googling without finding a consistent explanation. Are you running your application on Solaris with TCP No Delay enabled? If so, this bug report might be relevant: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6378870 I have come across a few other mentions of this issue but no solid fixes or work-arounds: http://www.nabble.com/SocketException:-Connection-reset---Invalid-argument-td9478521.html http://lists.apple.com/archives/Java-dev/2008/Jul/msg00089.html http://www.innovation.ch/java/HTTPClient/errors.html Reading between the lines of some of these discussions, it sounds like this exception *may* be something you can ignore as an intermittent connection problem -- despite the nasty exception message. Some of the links even imply this exception indicates a server-side problem, though that seems unlikely given you're interacting with S3. I don't suppose there's a proxy between your client and S3? I notice that you're connecting with HTTPS, so probably not. If you think it is acceptable to ignore these exceptions and just retry the operation, you may want to modify JetS3t RestS3Service class to catch these specific exceptions and retry the request using its built-in retry mechanism -- like it already does for Internal Server (500) errors from the S3 service. By default, this exception will be thrown by RestS3Service straight away and it won't retry the request. Does anyone else have experience with this issue? James --- http://www.jamesmurty.com On Mon, Jun 1, 2009 at 5:57 PM, Joe Moreno <joemoreno@...> wrote: Hi, |
| Free embeddable forum powered by Nabble | Forum Help |