2025.2 系列发布说明

17.4.0

新特性

  • 添加了检测和处理 MariaDB 错误 1020 “Record has changed since last read” 的支持,该错误在 REPEATABLE-READ 隔离级别下发生,当 MariaDB 检测到自当前事务中上次读取以来某行已更改时,会发生此错误。 此错误现在被封装在一个新的 DBConsistencyError 异常类中,该类继承自 DBDeadlock,确保现有的重试装饰器和错误处理代码将自动处理这种瞬态并发情况。

错误修复

  • 修复了 oslo.db 的异常过滤系统先前未正确分类的 MariaDB 错误 1020 的处理。 此错误可能发生在 Nova 和 Keystone 等 OpenStack 服务中使用 MariaDB 且隔离级别为 REPEATABLE-READ 时,现在被正确地封装在 DBConsistencyError 异常(DBDeadlock 的子类)中,而不是作为通用的 OperationalError 传递。 这确保了处理类似死锁情况的现有重试机制将自动适用于此 MariaDB 特定的一致性错误。

    更多详细信息,请参阅 bug 2116186