)]}'
{"id":"openstack%2Foslo.messaging~932511","triplet_id":"openstack%2Foslo.messaging~master~Icc373396acc771e4cce075182c84aa1d2bfc1cb7","project":"openstack/oslo.messaging","branch":"master","attention_set":{"9816":{"account":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"last_update":"2024-12-13 15:34:03.000000000","reason":"\u003cGERRIT_ACCOUNT_11583\u003e replied on the change","reason_account":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}},"11583":{"account":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"last_update":"2025-08-27 14:25:22.000000000","reason":"\u003cGERRIT_ACCOUNT_28627\u003e replied on the change","reason_account":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"}}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Icc373396acc771e4cce075182c84aa1d2bfc1cb7","subject":"Define a callback on Basic.cancel notifications to avoid disconnect.","status":"NEW","created":"2024-10-16 14:03:25.000000000","updated":"2025-08-27 14:25:22.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":8,"unresolved_comment_count":2,"has_review_started":true,"meta_rev_id":"f986e75d412b4e3c12fc898fa40dcc235cf10c9b","_number":932511,"virtual_id_number":932511,"owner":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"tag":"autogenerated:zuul:check","value":1,"date":"2024-12-02 21:27:04.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},"disliked":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"all":[{"value":1,"date":"2025-08-27 14:25:22.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":-1,"date":"2024-12-13 15:34:03.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}],"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}],"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":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2024-10-16 14:03:25.000000000","updated_by":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"reviewer":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},"state":"CC"},{"updated":"2024-10-16 17:55:38.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":"2024-10-17 01:26:47.000000000","updated_by":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"reviewer":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"state":"REVIEWER"},{"updated":"2025-08-27 14:25:22.000000000","updated_by":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},"reviewer":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},"state":"REVIEWER"}],"messages":[{"id":"304e26aec2890b314e24fbea776c82c22d2da361","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2024-10-16 14:03:25.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e2e68b70b578231e2b2f22e8b9c3029f1f564119","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2024-10-16 15:42:00.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"fb32e75622427f0a4e5fe7038dd9790674dd916c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-10-16 17:55:38.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/735758835543483c95c3123673d04b3d\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/7ba9f0f85f6c43a681d49380ec3a9ac1 : SUCCESS in 2m 08s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/947427a28a1748e69470a57efebfda20 : SUCCESS in 1h 35m 43s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7940f353b6e8420ba2c4168a780a0836 : SUCCESS in 4m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3f0e715cf0b44a0489b280479a35f711 : SUCCESS in 3m 51s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/cf771a0adb4a45e0a7ef2a0cea182e60 : SUCCESS in 5m 17s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/831d68dfc7e24c1da11863cb1637afe2 : SUCCESS in 6m 28s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/86fccd15327042f99d8ea566ed34574a : SUCCESS in 3m 15s\n- oslo.messaging-tox-py310-func-scenario01 https://zuul.opendev.org/t/openstack/build/ea1f51435f0a4886aec1bc79beb84d85 : SUCCESS in 4m 39s\n- oslo.messaging-tox-py310-func-scenario02 https://zuul.opendev.org/t/openstack/build/27877204be9945cd91617074330e9362 : FAILURE in 8m 01s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/df30e2f0e0774f738e41ee018b88ec4f : SUCCESS in 1h 57m 27s\n- oslo.messaging-src-dsvm-full-amqp1-hybrid https://zuul.opendev.org/t/openstack/build/f56a5c7d8a984470b233fd0acfc47e12 : FAILURE in 28m 55s (non-voting)\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/073b7041047e43f58103bc69a4cc9645 : SUCCESS in 1h 49m 34s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/d50e4414243b40f9b9d50c3e582c8f54 : SUCCESS in 1h 09m 39s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/c2409391fb714e7facef2a5124d8cfdc : SUCCESS in 1h 14m 35s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"bcbbd4acad253fbb6ea65eb84bed58fcbe01995e","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2024-10-17 01:26:47.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"479704cca60800986f64e6a1d3e02738d3428638","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2024-12-02 19:46:38.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"9ddf9739f0199883a7ab80c8180a14e4dcfaae89","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2024-12-02 19:46:45.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"7429bb3187c1dd70c83735c67a1dba73c2567ef8","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2024-12-02 19:49:07.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"cfcff6118cbb3e57e346a486fafe04cf8193b77e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2024-12-02 19:52:34.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"14b448137e591479b5c4e1fd093ab3b6189ea3ba","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-12-02 21:27:04.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fdb7144f7fa54c3baee070e21a050bb7\n\n- requirements-check https://zuul.opendev.org/t/openstack/build/7ccc33188ebf4372800d81026cfc081c : SUCCESS in 2m 22s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/0e4217eb50ac459aaf0d18961327e6f8 : SUCCESS in 1h 33m 04s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b0ab9a70b3a448168a363b8623c3df44 : SUCCESS in 7m 06s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/41707c7734d54811bef71ecc4b2d0877 : SUCCESS in 3m 25s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/825f073fb72542458974c6aaa94e8f58 : SUCCESS in 6m 39s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/ec6557bac3914217be1b5146f66afcaa : SUCCESS in 6m 26s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3eb8548a98244cb49457bbcd7f4c1cc8 : SUCCESS in 3m 14s\n- oslo.messaging-tox-py310-func-scenario01 https://zuul.opendev.org/t/openstack/build/4587260dc4b342e5a85c34f4b09d622f : SUCCESS in 4m 31s\n- oslo.messaging-tox-py310-func-scenario02 https://zuul.opendev.org/t/openstack/build/63858906f5c04a26bc8e0141b993e416 : FAILURE in 5m 04s (non-voting)\n- oslo.messaging-src-dsvm-full-rabbit https://zuul.opendev.org/t/openstack/build/725d3d4e48354cdf97413dc77fded9ce : SUCCESS in 1h 13m 14s\n- oslo.messaging-src-dsvm-full-kafka-hybrid https://zuul.opendev.org/t/openstack/build/39dd3e9ab1064d66a21f6fccf69bec59 : SUCCESS in 1h 24m 09s (non-voting)\n- oslo.messaging-grenade https://zuul.opendev.org/t/openstack/build/f17ea61bd3bb4e89b2b9208e80444afc : SUCCESS in 48m 19s (non-voting)\n- oslo.messaging-grenade-multinode https://zuul.opendev.org/t/openstack/build/00fe2a526e504afb810e584f1b8ac0bd : SUCCESS in 52m 08s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"2f0c59679bc6371c7643a0208ded5e3a21a31928","author":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},"date":"2024-12-03 09:17:35.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"7abef50c2534eb63d61207ab8aa226781041cae3","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2024-12-11 15:58:14.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"538e03bad51cf24275f5b6e1a48cdb977d7e3cfa","author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"date":"2024-12-13 15:34:03.000000000","message":"Patch Set 4: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"f986e75d412b4e3c12fc898fa40dcc235cf10c9b","author":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},"date":"2025-08-27 14:25:22.000000000","message":"Patch Set 4: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"5c8d60c34cd1ba1dba036657945b1cef96c2cffc","revisions":{"bccf9c2f416634f3fbfccd71f3cd93f3d97798de":{"kind":"REWORK","_number":1,"created":"2024-10-16 14:03:25.000000000","uploader":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"ref":"refs/changes/11/932511/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/11/932511/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/1"}}},"commit":{"parents":[{"commit":"12bb2cc2edbc2a56938cbacfd0eee2d1f90ba72e","subject":"Add a kombu_reconnect_splay setting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/12bb2cc2edbc2a56938cbacfd0eee2d1f90ba72e"}]}],"author":{"name":"julien.cosmao","email":"julien.cosmao@corp.ovh.com","date":"2024-03-01 14:14:19.000000000","tz":60},"committer":{"name":"Arnaud Morin","email":"arnaud.morin@ovhcloud.com","date":"2024-10-16 14:02:41.000000000","tz":120},"subject":"Define a callback on Basic.cancel notifications to avoid disconnect.","message":"Define a callback on Basic.cancel notifications to avoid disconnect.\n\nWhen a queue is deleted, server emit Basic.cancel amqp notification.\nIf no callback is defined, py-amqp lib will raise ConsumerCancelled\nexception. This one is treated as an error and client will close\nconnection/channel and will automatically reconnect and redeclare\nobjects. This behavior can be avoided by declaring a on_cancel\ncallback.\nOn basic.cancel, connection and channel are not close by server, so it\nis not needed to close then, we just need to redeclare cancelled\nconsumer.\n\nIt\u0027s even worse on fanout stream queues where a lot of consumers can be\ndeclared. Without on_cancel callback, all agents consuming on those\ndeleted queues will close/reconnect to broker.\n\nChange-Id: Icc373396acc771e4cce075182c84aa1d2bfc1cb7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/bccf9c2f416634f3fbfccd71f3cd93f3d97798de"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/bccf9c2f416634f3fbfccd71f3cd93f3d97798de"}]},"branch":"refs/heads/master"},"7951069f23f227bba3eb7409fba8fc6a5152a5df":{"kind":"REWORK","_number":2,"created":"2024-10-16 15:42:00.000000000","uploader":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"ref":"refs/changes/11/932511/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/11/932511/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/2"}}},"commit":{"parents":[{"commit":"078d639ed3893f65b08a28481c5fe05a28387947","subject":"Add a kombu_reconnect_splay setting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/078d639ed3893f65b08a28481c5fe05a28387947"}]}],"author":{"name":"julien.cosmao","email":"julien.cosmao@corp.ovh.com","date":"2024-03-01 14:14:19.000000000","tz":60},"committer":{"name":"Arnaud Morin","email":"arnaud.morin@ovhcloud.com","date":"2024-10-16 15:41:47.000000000","tz":120},"subject":"Define a callback on Basic.cancel notifications to avoid disconnect.","message":"Define a callback on Basic.cancel notifications to avoid disconnect.\n\nWhen a queue is deleted, server emit Basic.cancel amqp notification.\nIf no callback is defined, py-amqp lib will raise ConsumerCancelled\nexception. This one is treated as an error and client will close\nconnection/channel and will automatically reconnect and redeclare\nobjects. This behavior can be avoided by declaring a on_cancel\ncallback.\nOn basic.cancel, connection and channel are not close by server, so it\nis not needed to close then, we just need to redeclare cancelled\nconsumer.\n\nIt\u0027s even worse on fanout stream queues where a lot of consumers can be\ndeclared. Without on_cancel callback, all agents consuming on those\ndeleted queues will close/reconnect to broker.\n\nChange-Id: Icc373396acc771e4cce075182c84aa1d2bfc1cb7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7951069f23f227bba3eb7409fba8fc6a5152a5df"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/7951069f23f227bba3eb7409fba8fc6a5152a5df"}]},"branch":"refs/heads/master"},"f6a0a456ebdf54272883ee1b76815f737d3ccebc":{"kind":"REWORK","_number":3,"created":"2024-12-02 19:46:38.000000000","uploader":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"ref":"refs/changes/11/932511/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/11/932511/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/3"}}},"commit":{"parents":[{"commit":"c9b86d973e1a683c598523513fdfa31e72326b11","subject":"Add a kombu_reconnect_splay setting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/c9b86d973e1a683c598523513fdfa31e72326b11"}]}],"author":{"name":"julien.cosmao","email":"julien.cosmao@corp.ovh.com","date":"2024-03-01 14:14:19.000000000","tz":60},"committer":{"name":"Arnaud Morin","email":"arnaud.morin@ovhcloud.com","date":"2024-12-02 19:44:26.000000000","tz":60},"subject":"Define a callback on Basic.cancel notifications to avoid disconnect.","message":"Define a callback on Basic.cancel notifications to avoid disconnect.\n\nWhen a queue is deleted, server emit Basic.cancel amqp notification.\nIf no callback is defined, py-amqp lib will raise ConsumerCancelled\nexception. This one is treated as an error and client will close\nconnection/channel and will automatically reconnect and redeclare\nobjects. This behavior can be avoided by declaring a on_cancel\ncallback.\nOn basic.cancel, connection and channel are not close by server, so it\nis not needed to close then, we just need to redeclare cancelled\nconsumer.\n\nIt\u0027s even worse on fanout stream queues where a lot of consumers can be\ndeclared. Without on_cancel callback, all agents consuming on those\ndeleted queues will close/reconnect to broker.\n\nChange-Id: Icc373396acc771e4cce075182c84aa1d2bfc1cb7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f6a0a456ebdf54272883ee1b76815f737d3ccebc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/f6a0a456ebdf54272883ee1b76815f737d3ccebc"}]},"branch":"refs/heads/master"},"5c8d60c34cd1ba1dba036657945b1cef96c2cffc":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2024-12-02 19:52:34.000000000","uploader":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"ref":"refs/changes/11/932511/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.messaging","ref":"refs/changes/11/932511/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.messaging refs/changes/11/932511/4"}}},"commit":{"parents":[{"commit":"5c5f17d7554af064325cef6cfbbb4ae3687ad052","subject":"Add a kombu_reconnect_splay setting","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/5c5f17d7554af064325cef6cfbbb4ae3687ad052"}]}],"author":{"name":"julien.cosmao","email":"julien.cosmao@corp.ovh.com","date":"2024-03-01 14:14:19.000000000","tz":60},"committer":{"name":"Arnaud Morin","email":"arnaud.morin@ovhcloud.com","date":"2024-12-02 19:52:28.000000000","tz":60},"subject":"Define a callback on Basic.cancel notifications to avoid disconnect.","message":"Define a callback on Basic.cancel notifications to avoid disconnect.\n\nWhen a queue is deleted, server emit Basic.cancel amqp notification.\nIf no callback is defined, py-amqp lib will raise ConsumerCancelled\nexception. This one is treated as an error and client will close\nconnection/channel and will automatically reconnect and redeclare\nobjects. This behavior can be avoided by declaring a on_cancel\ncallback.\nOn basic.cancel, connection and channel are not close by server, so it\nis not needed to close then, we just need to redeclare cancelled\nconsumer.\n\nIt\u0027s even worse on fanout stream queues where a lot of consumers can be\ndeclared. Without on_cancel callback, all agents consuming on those\ndeleted queues will close/reconnect to broker.\n\nChange-Id: Icc373396acc771e4cce075182c84aa1d2bfc1cb7\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/5c8d60c34cd1ba1dba036657945b1cef96c2cffc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.messaging/commit/5c8d60c34cd1ba1dba036657945b1cef96c2cffc"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"}},{"label":"Workflow","status":"MAY"},{"label":"Backport-Candidate","status":"MAY"}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
