@@ -268,6 +268,7 @@ enum ThrowableCategory {
268
268
SOCKET_EXCEPTION (C .SOCKET_EXCEPTION ),
269
269
SSL_EXCEPTION (C .SSL_EXCEPTION ),
270
270
SSL_EXCEPTION_CONNECTION_SHUTDOWN (C .SSL_EXCEPTION_CONNECTION_SHUTDOWN ),
271
+ SSL_EXCEPTION_CONNECTION_RESET (C .SSL_EXCEPTION_CONNECTION_RESET ),
271
272
SSL_HANDSHAKE_EXCEPTION (C .SSL_HANDSHAKE_EXCEPTION ),
272
273
SSL_HANDSHAKE_EXCEPTION_CAUSED_BY_CERTIFICATE_EXCEPTION (
273
274
C .SSL_HANDSHAKE_EXCEPTION_CERTIFICATE_EXCEPTION ),
@@ -305,6 +306,8 @@ enum ThrowableCategory {
305
306
STORAGE_EXCEPTION_SSL_EXCEPTION (new StorageException (C .SSL_EXCEPTION )),
306
307
STORAGE_EXCEPTION_SSL_EXCEPTION_CONNECTION_SHUTDOWN (
307
308
new StorageException (C .SSL_EXCEPTION_CONNECTION_SHUTDOWN )),
309
+ STORAGE_EXCEPTION_SSL_EXCEPTION_CONNECTION_RESET (
310
+ new StorageException (C .SSL_EXCEPTION_CONNECTION_RESET )),
308
311
STORAGE_EXCEPTION_SSL_HANDSHAKE_EXCEPTION (new StorageException (C .SSL_HANDSHAKE_EXCEPTION )),
309
312
STORAGE_EXCEPTION_SSL_HANDSHAKE_EXCEPTION_CAUSED_BY_CERTIFICATE_EXCEPTION (
310
313
new StorageException (C .SSL_HANDSHAKE_EXCEPTION_CERTIFICATE_EXCEPTION )),
@@ -361,6 +364,8 @@ private static final class C {
361
364
private static final SSLException SSL_EXCEPTION = new SSLException ("unknown" );
362
365
private static final SSLException SSL_EXCEPTION_CONNECTION_SHUTDOWN =
363
366
new SSLException ("Connection has been shutdown: asdf" );
367
+ private static final SSLException SSL_EXCEPTION_CONNECTION_RESET =
368
+ new SSLException ("Connection reset" , new SocketException ("Connection reset" ));
364
369
private static final SSLHandshakeException SSL_HANDSHAKE_EXCEPTION =
365
370
newSslHandshakeExceptionWithCause (new SSLProtocolException (DEFAULT_MESSAGE ));
366
371
private static final SSLHandshakeException SSL_HANDSHAKE_EXCEPTION_CERTIFICATE_EXCEPTION =
@@ -614,6 +619,16 @@ private static ImmutableList<Case> getAllCases() {
614
619
HandlerCategory .NONIDEMPOTENT ,
615
620
ExpectRetry .NO ,
616
621
Behavior .SAME ),
622
+ new Case (
623
+ ThrowableCategory .SSL_EXCEPTION_CONNECTION_RESET ,
624
+ HandlerCategory .IDEMPOTENT ,
625
+ ExpectRetry .YES ,
626
+ Behavior .DEFAULT_MORE_PERMISSIBLE ),
627
+ new Case (
628
+ ThrowableCategory .SSL_EXCEPTION_CONNECTION_RESET ,
629
+ HandlerCategory .NONIDEMPOTENT ,
630
+ ExpectRetry .NO ,
631
+ Behavior .SAME ),
617
632
new Case (
618
633
ThrowableCategory .SSL_HANDSHAKE_EXCEPTION ,
619
634
HandlerCategory .IDEMPOTENT ,
@@ -884,6 +899,16 @@ private static ImmutableList<Case> getAllCases() {
884
899
HandlerCategory .NONIDEMPOTENT ,
885
900
ExpectRetry .NO ,
886
901
Behavior .DEFAULT_MORE_STRICT ),
902
+ new Case (
903
+ ThrowableCategory .STORAGE_EXCEPTION_SSL_EXCEPTION_CONNECTION_RESET ,
904
+ HandlerCategory .IDEMPOTENT ,
905
+ ExpectRetry .YES ,
906
+ Behavior .DEFAULT_MORE_PERMISSIBLE ),
907
+ new Case (
908
+ ThrowableCategory .STORAGE_EXCEPTION_SSL_EXCEPTION_CONNECTION_RESET ,
909
+ HandlerCategory .NONIDEMPOTENT ,
910
+ ExpectRetry .NO ,
911
+ Behavior .SAME ),
887
912
new Case (
888
913
ThrowableCategory .STORAGE_EXCEPTION_SSL_HANDSHAKE_EXCEPTION ,
889
914
HandlerCategory .IDEMPOTENT ,
0 commit comments