由于某些原因,如意外的崩溃或异常,Liquibase最终得到了一个从未发布的过时的DATABASECHANGELOGLOCK。2020-03-04T11:10:55.89+0200 info [] Connection Status (120 times 300s) : 0909 是否有配置用于在特定时间后自动删除Liquibase或者,在Postgres开始寻找更改锁之前,这可以在App Start中编程完成。
我的问题是,两相锁定(而不是“严格的两相锁定”)机制如何知道它何时开始收缩阶段?除非DB知道事务中的所有查询(这违背了两阶段锁定机制的全部要点,这种机制应该能够在不知道事务中的所有查询的情况下确保可序列化),否则无法判断事务是否需要获得更多的锁。test_tab where id=2;commit;
从上面的事务来看,在完成最后一个update语句之前,两阶段锁定机制不应该释放任何