Hikari CP SSL异常在接收对等方的close_notify之前关闭入站

时间:2018-12-31 14:07:18

标签: mysql spring-boot spring-jdbc hikaricp aws-aurora

自从Tomcat CP(默认为春季启动1)切换到Hikari(默认为春季启动2)后,我们开始看到许多以下示例:

EXCEPTION STACK TRACE:



** BEGIN NESTED EXCEPTION ** 

javax.net.ssl.SSLException
MESSAGE: closing inbound before receiving peer's close_notify

STACKTRACE:

javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:129)
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255)
    at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:645)
    at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:624)
    at com.mysql.cj.protocol.a.NativeProtocol.quit(NativeProtocol.java:1312)
    at com.mysql.cj.NativeSession.quit(NativeSession.java:182)
    at com.mysql.cj.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:1750)
    at com.mysql.cj.jdbc.ConnectionImpl.close(ConnectionImpl.java:720)
    at com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:135)
    at com.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:441)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)

环境

  • Spring Boot 2.1.1.RELEASE
  • Java 11
  • mysql-connector-java 8.0.13
  • HikariCP 3.2.0

数据库:

  • RDS Aurora MySql 5.7.12(默认参数组)

配置(春季启动)

设置:

spring.datasource.hikari.transactionIsolation=TRANSACTION_REPEATABLE_READ

spring.datasource.hikari.minimumIdle=10

spring.datasource.hikari.idleTimeout=300000
spring.datasource.hikari.maximumPoolSize=20

spring.datasource.hikari.connectionTimeout=5000

spring.datasource.hikari.maxLifetime=900000
spring.datasource.hikari.validationTimeout=1000

是否缺少我需要的设置,也许我的空闲时间应该设置得低得多?

我们还没有遇到任何明显的不良影响,即应用程序似乎可以继续正常运行,但是此堆栈跟踪经常出现(也许每4秒显示一次。)

数据库设置

如果我通过cli连接到mysql并运行show variables;和grep获取与超时相关的值,我会看到:

| connect_timeout                                          | 10                                                                                                                                                                                                                                                                                                                                                                                                               |
| delayed_insert_timeout                                   | 300                                                                                                                                                                                                                                                                                                                                                                                                              |
| have_statement_timeout                                   | YES                                                                                                                                                                                                                                                                                                                                                                                                              |
| innodb_flush_log_at_timeout                              | 1                                                                                                                                                                                                                                                                                                                                                                                                                |
| innodb_lock_wait_timeout                                 | 50                                                                                                                                                                                                                                                                                                                                                                                                               |
| innodb_rollback_on_timeout                               | OFF                                                                                                                                                                                                                                                                                                                                                                                                              |
| interactive_timeout                                      | 28800                                                                                                                                                                                                                                                                                                                                                                                                            |
| lock_wait_timeout                                        | 31536000                                                                                                                                                                                                                                                                                                                                                                                                         |
| net_read_timeout                                         | 30                                                                                                                                                                                                                                                                                                                                                                                                               |
| net_write_timeout                                        | 60                                                                                                                                                                                                                                                                                                                                                                                                               |
| rpl_stop_slave_timeout                                   | 31536000                                                                                                                                                                                                                                                                                                                                                                                                         |
| slave_net_timeout                                        | 60                                                                                                                                                                                                                                                                                                                                                                                                               |
| wait_timeout                                             | 28800                                                                                                                                                                                                                                                                                                                                                                                                            |

0 个答案:

没有答案