Package: python-oslo.db / 17.2.1-3
Metadata
Package | Version | Patches format |
---|---|---|
python-oslo.db | 17.2.1-3 | 3.0 (quilt) |
Patch series
view the series filePatch | File delta | Description |
---|---|---|
Add_MariaDB_error_1020_handling_as_DBConsistencyError_subclass_of_DBDeadlock.patch | (download) |
oslo_db/exception.py |
23 19 + 4 - 0 ! |
add mariadb error 1020 handling as dbconsistencyerror subclass of dbdeadlock MariaDB under REPEATABLE-READ isolation level can raise error 1020 "Record has changed since last read" when it detects that a row has changed since it was last read in the current transaction. This is part of MariaDB's transaction validation model and has been observed in OpenStack services like Nova and Keystone. . This change adds: * New DBConsistencyError exception class that inherits from DBDeadlock * Updated DBDeadlock docstring to cover all concurrent access conflicts * Filter in exc_filters.py to detect and handle MariaDB error 1020 * Unit tests to verify proper detection and wrapping . The inheritance model ensures that existing retry decorators and error handling code that catch DBDeadlock will automatically handle this new MariaDB consistency error, providing seamless backward compatibility while properly categorizing the error as a transient concurrency issue. . This provides better error handling for applications using oslo.db with MariaDB and allows existing retry mechanisms to work without modification. . For more details about this new isolation level in InnoDB, please see https://mariadb.com/resources/blog/isolation-level-violation-testing-and-debugging-in-mariadb/ Bug: https://launchpad.net/bugs/2116186 |
1