We enthusiastically announce the release of: oslo.db 17.4.0 This release is part of the flamingo release series. The source is available from: https://opendev.org/openstack/oslo.db Download the package from: https://pypi.org/project/oslo.db Please report issues through: https://bugs.launchpad.net/oslo.db/+bugs For more details, please see below. 17.4.0 ^^^^^^ New Features ************ * Added support for detecting and handling MariaDB error 1020 "Record has changed since last read" which occurs under REPEATABLE- READ isolation level when MariaDB detects that a row has changed since it was last read in the current transaction. This error is now wrapped in a new "DBConsistencyError" exception class that inherits from "DBDeadlock", ensuring that existing retry decorators and error handling code will automatically handle this transient concurrency condition. Bug Fixes ********* * Fixed handling of MariaDB error 1020 that was previously not properly categorized by oslo.db's exception filtering system. This error, which can occur in OpenStack services like Nova and Keystone when using MariaDB with REPEATABLE-READ isolation level, is now properly wrapped in a "DBConsistencyError" exception (a subclass of "DBDeadlock") instead of being passed through as a generic "OperationalError". This ensures that existing retry mechanisms that handle deadlock-like conditions will automatically work with this MariaDB-specific consistency error. For more details, see bug 2116186 (https://bugs.launchpad.net/nova/+bug/2116186). Changes in oslo.db 17.3.0..17.4.0 --------------------------------- aa3c8d8 Uniformize exceptions by removing useless constructors a068372 Add MariaDB error 1020 handling as DBConsistencyError subclass of DBDeadlock Diffstat (except docs and test files) ------------------------------------- oslo_db/exception.py | 28 +++++++++------ oslo_db/sqlalchemy/exc_filters.py | 19 ++++++++++ ...riadb-transactional-error-d84c95cdb4d3b27f.yaml | 23 ++++++++++++ 4 files changed, 102 insertions(+), 10 deletions(-)
participants (1)
-
no-reply@openstack.org