--- /dev/null
+.. change::
+ :tags: bug, postgresql
+ :tickets: 11522
+
+ It is now considered a pool-invalidating disconnect event when psycopg2
+ throws an "SSL SYSCALL error: Success" error message, which can occur when
+ the SSL connection to Postgres is terminated abnormally.
\ No newline at end of file
"SSL SYSCALL error: EOF detected",
"SSL SYSCALL error: Operation timed out",
"SSL SYSCALL error: Bad address",
+ # This can occur in OpenSSL 1 when an unexpected EOF occurs.
+ # https://www.openssl.org/docs/man1.1.1/man3/SSL_get_error.html#BUGS
+ # It may also occur in newer OpenSSL for a non-recoverable I/O
+ # error as a result of a system call that does not set 'errno'
+ # in libc.
+ "SSL SYSCALL error: Success",
]:
idx = str_e.find(msg)
if idx >= 0 and '"' not in str_e[:idx]:
"SSL SYSCALL error: EOF detected",
"SSL SYSCALL error: Operation timed out",
"SSL SYSCALL error: Bad address",
+ "SSL SYSCALL error: Success",
]:
eq_(dialect.is_disconnect(Error(error), None, None), True)