我们有一个使用flyway(v6)更新postgresql10数据库中2000000行的事务。它失败,显示“无法获取Flyway咨询锁定”。2000000条记录并不是很大,它是一个逻辑事务。我只能重现一次问题,从那以后我就不能重现问题了。这是一个微服务,目标表在它的模式中是单独的。有线索吗
gstyhher1#
如果这个flyway运行在一个kubernetes pod中,第一次创建pod时,kubernetes验证pod时可能会花费很长时间,导致超时;并且下一个容器创建尝试可能得到该异常,而另一方面,第一个容器创建尝试已经在尝试利用咨询锁来完成飞行路径。在这种情况下,等待适当的时间后,它应该会正常,因为至少有一个pod会将flyway脚本应用到数据库(假设您的flyway脚本没有问题)。
w6mmgewl2#
我也有同样的问题。请检查事件部分,看看你是否注意到下面的“杀戮:容器名称XXX失败的livenss探测,将重新启动”。如果是这样,请将liveness probe配置下的initialDelay秒数增加到更高的值。这将允许一些时间来完成飞行路径,并避免从活性探针检查功能中中途被杀死。请查看此链接了解更多-链接
2条答案
按热度按时间gstyhher1#
如果这个flyway运行在一个kubernetes pod中,第一次创建pod时,kubernetes验证pod时可能会花费很长时间,导致超时;并且下一个容器创建尝试可能得到该异常,而另一方面,第一个容器创建尝试已经在尝试利用咨询锁来完成飞行路径。
在这种情况下,等待适当的时间后,它应该会正常,因为至少有一个pod会将flyway脚本应用到数据库(假设您的flyway脚本没有问题)。
w6mmgewl2#
我也有同样的问题。请检查事件部分,看看你是否注意到下面的“杀戮:容器名称XXX失败的livenss探测,将重新启动”。如果是这样,请将liveness probe配置下的initialDelay秒数增加到更高的值。这将允许一些时间来完成飞行路径,并避免从活性探针检查功能中中途被杀死。
请查看此链接了解更多-链接