【问题标题】:Google Cloud SQL Second generation -> "Aborted connection"Google Cloud SQL 第二代->“中止连接”
【发布时间】:2017-10-20 20:31:11
【问题描述】:

我在 Appengine 上运行 Java + JPA/Hibernate 应用程序,并将我的数据库从第一代 Google Cloud SQL 实例切换到第二代,现在出现很多这样的错误:

2017-05-20T22:49:53.533247Z 2235 [Note] Aborted connection 2235 to db:
'mydb' user: 'root' host: 'cloudsqlproxy~myip' 
(Got an error reading communication packets)

据我所知,这些错误大多发生在任务队列任务中的数据库请求期间。

这在第一代并没有发生。如何避免这种情况?

【问题讨论】:

  • 你能解决吗?

标签: sql hibernate google-app-engine jpa google-cloud-platform


【解决方案1】:

Google’s documentation 所述,当现有连接不正确终止时,会触发“Aborted connection nnnn to db:”消息。如文档here 中所述,大多数中止连接的发生是因为您的连接终止不正确或服务器和客户端之间的网络问题。

我建议您遵循 Google 关于管理 Cloud SQL connections 的文档,强调 “connection pools” section,当然还有 “opening and closing connection” section

【讨论】:

  • 该文档谈到“正确关闭连接”。但是,当我使用GCP云功能连接GCP cloudSQL时,仍然出现错误。
【解决方案2】:

Managing database connections 谈论“正确关闭连接”。但是,就我而言,当我使用 GCP 云功能连接 GCP cloudSQL 时,仍然会出现错误。

Google group 表示,除非您使用 NullPool 或显式处置引擎,否则将始终出现错误消息。另外,不建议使用engine.dispose()

所以我想知道释放连接池资源而不在 CloudSQL 上生成错误消息的最佳方法是什么?

【讨论】:

    猜你喜欢
    • 2016-04-28
    • 1970-01-01
    • 2016-08-21
    • 2017-02-22
    • 2017-02-09
    • 2016-10-05
    • 1970-01-01
    • 2019-02-15
    • 2016-12-19
    相关资源
    最近更新 更多