)]}'
{"id":"openstack%2Foctavia~879025","triplet_id":"openstack%2Foctavia~stable%2Fyoga~I41bd226a9536bd5c9451dfa281fd0915aa288512","project":"openstack/octavia","branch":"stable/yoga","hashtags":[],"change_id":"I41bd226a9536bd5c9451dfa281fd0915aa288512","subject":"Fix ORM caching for with_for_update calls","status":"ABANDONED","created":"2023-03-30 07:24:39.000000000","updated":"2023-03-30 07:38:21.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"0a8fb8fe39f94c478dac683865e979182a22c936","_number":879025,"virtual_id_number":879025,"owner":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"actions":{},"labels":{"Verified":{"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":{"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":{"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"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":{"CC":[{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-03-30 07:24:39.000000000","updated_by":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"reviewer":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"state":"CC"}],"messages":[{"id":"d9c904c2c65ec225f835e2a1a9357e29a0dff471","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"date":"2023-03-30 07:24:39.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0a8fb8fe39f94c478dac683865e979182a22c936","tag":"autogenerated:gerrit:abandon","author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"date":"2023-03-30 07:38:21.000000000","message":"Abandoned\n\nwrong PR. it should be fixed in existing one: https://review.opendev.org/c/openstack/octavia/+/878838","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"46af6a588132b8e1a55eb0fc4a6b7391cfb600ed","revisions":{"46af6a588132b8e1a55eb0fc4a6b7391cfb600ed":{"kind":"REWORK","_number":1,"created":"2023-03-30 07:24:39.000000000","uploader":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"ref":"refs/changes/25/879025/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia","ref":"refs/changes/25/879025/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia refs/changes/25/879025/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia refs/changes/25/879025/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia refs/changes/25/879025/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia refs/changes/25/879025/1"}}},"commit":{"parents":[{"commit":"12b452f6e1391b3ad5c2e44bdd983632350965af","subject":"Merge \"Fix ignored [nova] service_name\" into stable/yoga","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/12b452f6e1391b3ad5c2e44bdd983632350965af"}]}],"author":{"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","date":"2023-03-14 17:09:42.000000000","tz":-240},"committer":{"name":"Sergey Kraynev","email":"sergejyit@gmail.com","date":"2023-03-30 07:24:31.000000000","tz":240},"subject":"Fix ORM caching for with_for_update calls","message":"Fix ORM caching for with_for_update calls\n\nThe SQLAlchemy recommends to use populate_existing() when using\nwith_for_update() [0], it fixed issues with the caching of the objects.\n\nThis patch precisely fixes a bug when locking of a loadbalancer in the\nbatch member update API call, the load balancer might not have been\nlocked correctly and race conditions could have occurred (processing\nsimultaneously 2 requests in the workers for the same load balancer).\n\n[0] https://docs.sqlalchemy.org/en/14/orm/query.html#sqlalchemy.orm.Query.with_for_update\n\nStory 2010646\nTask 47642\n\nCo-Authored-By: Gaudenz Steinlin \u003cgaudenz.steinlin@cloudscale.ch\u003e\n\nChange-Id: Ibd4da09079e83789d6cfe3658fcf1f266f5cf8b4\n(cherry picked from commit 2e4ee9c65e0fba660b0316f1f4203810bb8a67c0)\n\nFixed merge conflict in octavia/db/repositories.py\n\nChange-Id: I41bd226a9536bd5c9451dfa281fd0915aa288512\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/46af6a588132b8e1a55eb0fc4a6b7391cfb600ed"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/46af6a588132b8e1a55eb0fc4a6b7391cfb600ed"}]},"branch":"refs/heads/stable/yoga"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","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"}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
