)]}'
{"id":"openstack%2Foslo.db~957009","triplet_id":"openstack%2Foslo.db~stable%2F2025.1~Ie7c558ee6b82c206263227260806ca55ebdb77a9","project":"openstack/oslo.db","branch":"stable/2025.1","attention_set":{},"removed_from_attention_set":{"28522":{"account":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"last_update":"2025-09-15 12:31:10.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ie7c558ee6b82c206263227260806ca55ebdb77a9","subject":"Add MariaDB error 1020 handling as DBConsistencyError subclass of DBDeadlock","status":"MERGED","created":"2025-08-11 09:19:55.000000000","updated":"2025-09-15 12:33:01.000000000","submitted":"2025-09-15 12:31:10.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"957009","cherry_pick_of_change":955189,"cherry_pick_of_patch_set":3,"meta_rev_id":"50ff152464f9d20d15c12baefd3f6241bb19ba87","_number":957009,"virtual_id_number":957009,"owner":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-09-15 12:31:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2025-09-15 10:41:28.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":1,"date":"2025-08-12 06:42:17.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-08-11 13:38:08.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2025-09-15 10:41:28.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-08-11 11:05:16.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-08-11 13:38:08.000000000","updated_by":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"reviewer":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"state":"REVIEWER"},{"updated":"2025-08-12 06:42:17.000000000","updated_by":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"reviewer":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"state":"REVIEWER"},{"updated":"2025-09-15 10:41:28.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"}],"messages":[{"id":"9db39dd8bce1b35a2067059ba81ff79cf7da3ec8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2025-08-11 09:19:55.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"ec51cd00740af23cd083dde2f2b8ec052efbb649","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-08-11 11:05:16.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c421f96451c1461b9a884b9808b0806f\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b24e51b5bc384f5d8f0bf2b61ae42d34 : SUCCESS in 1h 44m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/92619b3aa77148718186fec05be42c08 : SUCCESS in 4m 21s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/67c5f17e26fd477db8f64f4f704a00c3 : SUCCESS in 2m 18s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/59136917a7c1448383b0b805ef64fe92 : SUCCESS in 2m 32s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/429e45de06ab4e299a38e45994293db1 : SUCCESS in 4m 06s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3981d8acd5bd4a2f9dae05f7ca66e6e6 : SUCCESS in 4m 54s","accounts_in_message":[],"_revision_number":1},{"id":"d64805695be06e69530635209f871932c87d58c1","author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"date":"2025-08-11 13:38:08.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"c126b4579f53f6f4ebe822066ddbd13449a114d7","author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"date":"2025-08-12 06:42:17.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"bef9bf3609c44035c54caaf1f66971cd998ab115","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-09-15 10:41:28.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"0f88f464164c6fc25f6d61f256eb1dfce0214723","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-15 10:42:04.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"416b02b9c68e5100f191d602bd869006dbac4e15","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-15 12:31:10.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5a740233c953472f8c921ecec7787c75\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/09fa5ebc7d384dc1bfd20d38cdca19eb : SUCCESS in 1h 41m 25s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1885240bcd05452aa8f61a289ac0f5b5 : SUCCESS in 3m 58s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/b2d9aabd586c4d2d92025e76d7a72699 : SUCCESS in 4m 39s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/5224b3bb0cd847f2977ace199e1aef73 : SUCCESS in 4m 57s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/10cb6ad62c8748e88052f51b5edb3982 : SUCCESS in 5m 13s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/52e36592c2b04a60bdedcc977da3e5c5 : SUCCESS in 3m 58s","accounts_in_message":[],"_revision_number":1},{"id":"1b215a81a247c1c45987ad56246d861f84ed7093","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-15 12:31:10.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"50ff152464f9d20d15c12baefd3f6241bb19ba87","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-15 12:33:01.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c36e42819aeb4817867c6f606d639a23\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b8074731feed4a22ba5c67d7b507b1da : SUCCESS in 41s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c37055d994ee441eafbf61ac5ceb14e4 : SUCCESS in 40s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"a6659565e947ab16bdd9bb2b3fcf6bdaf396d8ab","revisions":{"a6659565e947ab16bdd9bb2b3fcf6bdaf396d8ab":{"kind":"REWORK","_number":1,"created":"2025-08-11 09:19:55.000000000","uploader":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"ref":"refs/changes/09/957009/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.db","ref":"refs/changes/09/957009/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.db refs/changes/09/957009/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.db refs/changes/09/957009/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.db refs/changes/09/957009/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.db refs/changes/09/957009/1"}}},"commit":{"parents":[{"commit":"2a15b739080600bbd58e8503b944abf3f77fc561","subject":"Update TOX_CONSTRAINTS_FILE for stable/2025.1","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.db/commit/2a15b739080600bbd58e8503b944abf3f77fc561"}]}],"author":{"name":"Hervé Beraud","email":"hberaud@redhat.com","date":"2025-07-16 13:02:27.000000000","tz":120},"committer":{"name":"Hervé Beraud","email":"hberaud@redhat.com","date":"2025-08-11 09:19:55.000000000","tz":0},"subject":"Add MariaDB error 1020 handling as DBConsistencyError subclass of DBDeadlock","message":"Add MariaDB error 1020 handling as DBConsistencyError subclass of DBDeadlock\n\nMariaDB under REPEATABLE-READ isolation level can raise error 1020\n\"Record has changed since last read\" when it detects that a row has\nchanged since it was last read in the current transaction. This is\npart of MariaDB\u0027s transaction validation model and has been observed\nin OpenStack services like Nova and Keystone.\n\nThis change adds:\n* New DBConsistencyError exception class that inherits from DBDeadlock\n* Updated DBDeadlock docstring to cover all concurrent access conflicts\n* Filter in exc_filters.py to detect and handle MariaDB error 1020\n* Unit tests to verify proper detection and wrapping\n\nThe inheritance model ensures that existing retry decorators and error\nhandling code that catch DBDeadlock will automatically handle this new\nMariaDB consistency error, providing seamless backward compatibility\nwhile properly categorizing the error as a transient concurrency issue.\n\nThis provides better error handling for applications using oslo.db\nwith MariaDB and allows existing retry mechanisms to work without\nmodification.\n\nFor more details about this new isolation level in InnoDB, please\nsee https://mariadb.com/resources/blog/isolation-level-violation-testing-and-debugging-in-mariadb/\n\nCloses-Bug: #2116186\nChange-Id: Ie7c558ee6b82c206263227260806ca55ebdb77a9\nSigned-off-by: Hervé Beraud \u003chberaud@redhat.com\u003e\nGenerated-By: Claude Sonnet 4\n(cherry picked from commit a068372896953fc5e18518ff9ab07ce9698c8806)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.db/commit/a6659565e947ab16bdd9bb2b3fcf6bdaf396d8ab"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.db/commit/a6659565e947ab16bdd9bb2b3fcf6bdaf396d8ab"}]},"branch":"refs/heads/stable/2025.1"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Backport-Candidate","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
