Flyway、Postgresql、无法获取Flyway咨询锁

问题描述 投票:0回答:2

我们有一个事务使用 Flyway (v6) 更新 postgresql 10 数据库中的 2000000 行。 它因无法获取 Flyway 建议锁而失败。

2000000 条记录并不算大,只是 1 个逻辑事务。

我只能重现该问题一次,从那以后我就无法重现该问题。 这是一项微服务,目标表在其架构中是单独的。

有什么线索吗?

postgresql locking flyway
2个回答
0
投票

如果此flyway运行在kubernetes pod中,第一次创建pod时,kubernetes验证pod时可能会花费很长时间并导致超时;下一个 pod 创建尝试可能会遇到此异常,而另一方面,第一个 pod 已经尝试通过咨询锁完成飞行路线。

在这种情况下,等待适当的时间后,它应该会恢复正常,因为至少有一个 Pod 会将 Flyway 脚本应用到数据库(假设您的 Flyway 脚本没有问题)。


0
投票

我也有同样的问题。请检查活动部分,看看您是否注意到以下内容 “killing:容器名称 XXX 的 livenss 探测失败,将重新启动”。如果是这样,请将活性探针配置下的初始延迟秒数增加到更高的值。这将为飞行路线留出一些时间来完成,并避免在活性探针检查功能中途被杀死。

请参阅此链接以了解更多信息 - link

© www.soinside.com 2019 - 2024. All rights reserved.