定期连接到第二代MySQL服务器的连接尝试收到此错误:
OperationalError: (2062, 'Cloud SQL socket open failed with error: Transport endpoint is not connected')
这将持续约10分钟,然后离开。
我唯一可以发现的与Cloud SQL相关的错误是,它可能与连接限制有关( https://groups.google.com/d/msg/google-cloud-sql-discuss/sdeD17oDBOQ/wtTewl4- EgAJ ),但是除了一个TaskQueue任务之外,还有很less的事情发生,所以我觉得我们甚至不可能达到每个实例的12个限制(绝对不是4k的总体限制)。
导致此exception的代码使用与应用程序的其余部分相同的数据库设置,只是试图通过主键(如此小的查询) SELECT一行。
在数据库日志中有很多条目的错误如下。
[Note] Aborted connection 39643 to db: 'my_schema' user: 'root' host: 'cloudsqlproxy~<instance_ip>' (Got an error reading communication packets)
但是我不确定它们是否相关,因为它们在一天中的发生相当一致,并且上述错误只发生在约10分钟的特定时间。
这只在升级到第二代云端SQL之后才开始。
有没有其他人看到这个或知道一些更多的信息?
事实certificate,这个问题的根源在于连接限制,正如问题中链接的Google网上论坛最初所build议的。
出现这个错误是因为Pipelines API使用了webapp,而其余的应用程序使用Django。 由于Djangoclosures了我们的连接,所以没有手动处理它的代码,但是那些通过webapp访问数据库(使用Django的连接代码)的路由将它们打开,导致限制最终被打中。