@@ -268,6 +268,7 @@ enum ThrowableCategory {
268268 SOCKET_EXCEPTION (C .SOCKET_EXCEPTION ),
269269 SSL_EXCEPTION (C .SSL_EXCEPTION ),
270270 SSL_EXCEPTION_CONNECTION_SHUTDOWN (C .SSL_EXCEPTION_CONNECTION_SHUTDOWN ),
271+ SSL_EXCEPTION_CONNECTION_RESET (C .SSL_EXCEPTION_CONNECTION_RESET ),
271272 SSL_HANDSHAKE_EXCEPTION (C .SSL_HANDSHAKE_EXCEPTION ),
272273 SSL_HANDSHAKE_EXCEPTION_CAUSED_BY_CERTIFICATE_EXCEPTION (
273274 C .SSL_HANDSHAKE_EXCEPTION_CERTIFICATE_EXCEPTION ),
@@ -305,6 +306,8 @@ enum ThrowableCategory {
305306 STORAGE_EXCEPTION_SSL_EXCEPTION (new StorageException (C .SSL_EXCEPTION )),
306307 STORAGE_EXCEPTION_SSL_EXCEPTION_CONNECTION_SHUTDOWN (
307308 new StorageException (C .SSL_EXCEPTION_CONNECTION_SHUTDOWN )),
309+ STORAGE_EXCEPTION_SSL_EXCEPTION_CONNECTION_RESET (
310+ new StorageException (C .SSL_EXCEPTION_CONNECTION_RESET )),
308311 STORAGE_EXCEPTION_SSL_HANDSHAKE_EXCEPTION (new StorageException (C .SSL_HANDSHAKE_EXCEPTION )),
309312 STORAGE_EXCEPTION_SSL_HANDSHAKE_EXCEPTION_CAUSED_BY_CERTIFICATE_EXCEPTION (
310313 new StorageException (C .SSL_HANDSHAKE_EXCEPTION_CERTIFICATE_EXCEPTION )),
@@ -361,6 +364,8 @@ private static final class C {
361364 private static final SSLException SSL_EXCEPTION = new SSLException ("unknown" );
362365 private static final SSLException SSL_EXCEPTION_CONNECTION_SHUTDOWN =
363366 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" ));
364369 private static final SSLHandshakeException SSL_HANDSHAKE_EXCEPTION =
365370 newSslHandshakeExceptionWithCause (new SSLProtocolException (DEFAULT_MESSAGE ));
366371 private static final SSLHandshakeException SSL_HANDSHAKE_EXCEPTION_CERTIFICATE_EXCEPTION =
@@ -614,6 +619,16 @@ private static ImmutableList<Case> getAllCases() {
614619 HandlerCategory .NONIDEMPOTENT ,
615620 ExpectRetry .NO ,
616621 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 ),
617632 new Case (
618633 ThrowableCategory .SSL_HANDSHAKE_EXCEPTION ,
619634 HandlerCategory .IDEMPOTENT ,
@@ -884,6 +899,16 @@ private static ImmutableList<Case> getAllCases() {
884899 HandlerCategory .NONIDEMPOTENT ,
885900 ExpectRetry .NO ,
886901 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 ),
887912 new Case (
888913 ThrowableCategory .STORAGE_EXCEPTION_SSL_HANDSHAKE_EXCEPTION ,
889914 HandlerCategory .IDEMPOTENT ,
0 commit comments