Skip to content

Silently ignored exception #567

@molst

Description

@molst

When using aws-sdk-java (1.10.28) in a long-running batch job we sometimes get this stacktrace printed to standard out. It should be thrown by aws-sdk-java so that we can catch it to retry the operation later. Preferrably, no exceptions should be silently ignored.

The usual exception we get is a connection error, seemingly while putting a file on S3, which would easily be handled by a retry if we could catch the exception.

Dec 04, 2015 1:10:21 PM com.amazonaws.http.AmazonHttpClient executeHelper
INFO: Unable to execute HTTP request: Socket Closed
java.net.SocketException: Socket Closed
at java.net.AbstractPlainSocketImpl.setOption(AbstractPlainSocketImpl.java:212)
at java.net.Socket.setSoTimeout(Socket.java:1141)
at sun.security.ssl.BaseSSLSocketImpl.setSoTimeout(BaseSSLSocketImpl.java:631)
at sun.security.ssl.SSLSocketImpl.setSoTimeout(SSLSocketImpl.java:2464)
at com.amazonaws.internal.SdkSSLSocket.setSoTimeout(SdkSSLSocket.java:155)
at org.apache.http.impl.io.SocketInputBuffer.isDataAvailable(SocketInputBuffer.java:98)
at org.apache.http.impl.AbstractHttpClientConnection.isResponseAvailable(AbstractHttpClientConnection.java:244)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.isResponseAvailable(ManagedClientConnectionImpl.java:186)
at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:217)
at com.amazonaws.http.protocol.SdkHttpRequestExecutor.doSendRequest(SdkHttpRequestExecutor.java:47)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:728)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3604)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1391)
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at amazonica.core$fn_call$fn__11499.invoke(core.clj:789)
at amazonica.core$intern_function$fn__11527.doInvoke(core.clj:860)
at clojure.lang.RestFn.invoke(RestFn.java:703)
at drysync.command$put_row_csv_on_s3_BANG_.invoke(command.clj:43)
at drysync.command$export_rows_BANG_.invoke(command.clj:58)
at drysync.command$copy_table_BANG_.invoke(command.clj:69)
at drysync.command$copy_schema_BANG_$fn__11667.invoke(command.clj:78)
at drysync.command$copy_schema_BANG_.invoke(command.clj:78)
at drysync.command$overwrite_copy_schema_BANG_.invoke(command.clj:86)
at drysync.job$eval11693$fn__11694$fn__11695$iter__11696__11700$fn__11701$fn__11702$fn__11704$fn__11705.invoke(job.clj:34)
at drysync.general$retry$fn__9730.invoke(general.clj:22)
at drysync.general$retry.invoke(general.clj:21)
at drysync.job$eval11693$fn__11694$fn__11695$iter__11696__11700$fn__11701$fn__11702$fn__11704.invoke(job.clj:33)
at drysync.job$eval11693$fn__11694$fn__11695$iter__11696__11700$fn__11701$fn__11702.invoke(job.clj:33)
at drysync.job$eval11693$fn__11694$fn__11695$iter__11696__11700$fn__11701.invoke(job.clj:30)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.RT.seq(RT.java:507)
at clojure.core$seq__4128.invoke(core.clj:137)
at clojure.core$dorun.invoke(core.clj:3009)
at clojure.core$doall.invoke(core.clj:3025)
at drysync.job$eval11693$fn__11694$fn__11695.invoke(job.clj:29)
at drysync.job$wrap_job_info$fn__11684.invoke(job.clj:18)
at drysync.job$wrap_job_info.invoke(job.clj:18)
at drysync.job$eval11693$fn__11694.doInvoke(job.clj:26)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at clojure.lang.MultiFn.invoke(MultiFn.java:233)
at clojure.core$partial$fn__4527.invoke(core.clj:2493)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.core$apply.invoke(core.clj:630)
at drysync.job$work$iter__11747__11751$fn__11752$fn__11753.invoke(job.clj:62)
at drysync.job$work$iter__11747__11751$fn__11752.invoke(job.clj:61)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.RT.seq(RT.java:507)
at clojure.core$seq__4128.invoke(core.clj:137)
at clojure.core$dorun.invoke(core.clj:3009)
at clojure.core$doall.invoke(core.clj:3025)
at drysync.job$work.invoke(job.clj:60)
at drysync.job$work_response$fn__11764.invoke(job.clj:68)
at clojure.core$binding_conveyor_fn$fn__4444.invoke(core.clj:1916)
at clojure.lang.AFn.call(AFn.java:18)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions