)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"6237405d7fe83ca22f10caef23415c4e5b2306d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"214501b4_68504c73","updated":"2023-07-14 11:42:30.000000000","message":"Patch makes total sense to me. As it is configurable, users are able to opt-in independently, which is nice.","commit_id":"24f1e56ff7e92eeb374b3b97d64293ff55bfd6ce"},{"author":{"_account_id":29074,"name":"Felix Huettner","email":"felix.huettner@digits.schwarz","username":"felix.huettner"},"change_message_id":"b9f031efd0d45c058bc2bd0963088098a96aacb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"83414875_0af344df","updated":"2023-07-17 06:26:21.000000000","message":"lgtm.\n\nnit: you could mention in the release notes that people might want to adapt the policies they have set in rabbitmq when enabeling this feature","commit_id":"24f1e56ff7e92eeb374b3b97d64293ff55bfd6ce"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"bb1a7fba1d64131105655195416de84cb3abb584","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"842a8258_ba4ae03a","updated":"2023-08-29 15:26:12.000000000","message":"These changes LGTM.\n\nThese changes seems well isolated to reply or fanout (transient queues).\n\nIf HA option conflict with quorum option an error message will be triggered when the direct/fanout consumer will be declared.\n\nI\u0027d suggest to fix the typo in the doc message.\n\nWe should notice that the oslo world, as the other openstack libs, is now in feature freeze. This is an important design change, and even if this feature is disabled by default,  I\u0027m not fan to release it so close from the deadline without more testing and integration on the service side.\n\nWe could merge it once we\u0027d branch the 2023.2 stable branch. Else, it should require a feature freeze exception.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"a9dbd11d7d24bf0815f5059f74921cfbad251c2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"51f65f95_ad1a6518","updated":"2023-08-16 10:28:29.000000000","message":"recheck - test_snapshot_manage_with_attached_volume has timed out","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"13cda3972e0b4e5ad2fc392e4ee4b6ce8f0e5fe2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d41f02cc_6f6263f6","updated":"2023-10-11 01:09:45.000000000","message":"Sorry for my late review but I have a few things I want to clear before we merge this.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"7957cf108fce7f021a828549da73235afe7fa83d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"259e8c83_92ff4eaf","updated":"2024-01-04 15:52:45.000000000","message":"Any updates ?","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"6db4e3b4b5d3c8549caac1f780b79beae44ce0b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"13061169_965f01f0","updated":"2024-01-10 13:36:36.000000000","message":"For me now the patch can be merge, but as said Sven it will be great to update the documentation.","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0969393c7c944be440b99fad81a40adc27527413","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c35cc42f_3c31411a","updated":"2023-12-21 12:45:55.000000000","message":"I think this is lacking in docs. See comments.","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"913e53df89bd5f8e11ac3cf2e3d220539fc465db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9da1f13d_10e6116f","updated":"2024-01-09 08:09:33.000000000","message":"I think this is quite important and nice change and already one +2 is there, can someone from oslo.messaging review it ? Comment it ? Or anything ? \n\nIt would be fine to move ..","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"83291b0b9f91c232030931bb685d3ce35512c7ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ffa8cdde_d905d7af","updated":"2024-01-11 20:12:23.000000000","message":"I will merge the patch because the implementation is correct. The documentation can be done in another patch.","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"7245ccd1b4f89e60601c0ffede10cacca6c5c37f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b131956c_006256d2","in_reply_to":"779eff9c_0a5f1bcc","updated":"2024-05-30 15:39:42.000000000","message":"Hi pierre,\nyou are right, we plan to work on it.","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c773e0652a3976b638c6cb46527a2cd2c001d591","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"779eff9c_0a5f1bcc","in_reply_to":"f5c88dc1_ed4b5954","updated":"2024-05-28 20:10:15.000000000","message":"I don\u0027t see any relevant changes to the documentation since this was merged and no open patches. Is anyone working on it already?","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"6d7979c60828dc46f8d82a8ac3b613b83f6594b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f5c88dc1_ed4b5954","in_reply_to":"ffa8cdde_d905d7af","updated":"2024-01-11 20:14:53.000000000","message":"Thank you !","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"}],"oslo_messaging/_drivers/impl_rabbit.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"83ef714a8c513497ff13144aebe86d3370b49923","unresolved":true,"context_lines":[{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"81d09a76_12694d96","line":181,"range":{"start_line":181,"start_character":17,"end_line":181,"end_character":22},"updated":"2023-08-29 14:14:52.000000000","message":"*option","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2ade0180ae6046f1d5b827732be398c119d7cdeb","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3933a586_c1e5a55c","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"updated":"2023-08-16 10:45:44.000000000","message":"Should we also tell somewhere, that using quorum queues for transient queues is not recommended use-case according to https://www.rabbitmq.com/quorum-queues.html#use-cases ?","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"b9510329262f4537b44b002975bcabd25a8917ad","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"d59b9844_9441d8db","line":181,"range":{"start_line":181,"start_character":17,"end_line":181,"end_character":22},"in_reply_to":"18dc468e_98ef4bea","updated":"2023-09-06 13:53:43.000000000","message":"Done","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":28627,"name":"Julien","email":"julien.cosmao@ovhcloud.com","username":"jcosmao"},"change_message_id":"4baa123584bc33fe6df9d9ce980d8333f805417f","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ccf8cca_b417b8b8","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"3933a586_c1e5a55c","updated":"2023-08-16 16:33:40.000000000","message":"In openstack use case, transient queues are intend to live during process lifetime. And even longer using Qmanager, so it fit rabbitmq recommendation from my POV. \n\nWe should maybe mention that this is better to use \u0027transient quorum queues\u0027 in combination to Qmanager (if running at scale) to avoid a lot of queue churn when services are restarted for ex.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"cb008e6c09310b166d8c1f6d517e78c7a4cf4fd3","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"c15020cd_cfb59872","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"77f61199_4a15690c","updated":"2023-12-21 11:00:23.000000000","message":"Sorry for being a little late in replying.\n\nHow can you be sure nobody is using old mirrored queues anymore then?\nThat\u0027s why I suggested to add \n\n* a release note about the requirement for operators to act upcoming \n* emit a clear deprecation notice when oslo.messaging is NOT configured for quorum queues with maybe a link to the docs explaining what needs to be done\n\n\nAll I am asking is to actively \"manage\" the shift to quorum queues via an active deprecation and not to just \"wait it out\". Define the point when you actually can be sure nobody is using non-quorum queues anymore and you can remove the support for those.\n\nThere are so may ways to install RabbitMQ, so it\u0027s not possible to simply expect everybody to run RabbitMQ 4.0 with Ubuntu 26.04 LTS or whatever.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9eddafe2d87e50883614bd2be084dba126c5bdb7","unresolved":true,"context_lines":[{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"18dc468e_98ef4bea","line":181,"range":{"start_line":181,"start_character":17,"end_line":181,"end_character":22},"in_reply_to":"81d09a76_12694d96","updated":"2023-08-29 14:55:50.000000000","message":"the same typo exist for the rabbit_quorum_queue config option","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"336b56ec23bbc42c7bcdd7b9e60b95b73427f165","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"77f61199_4a15690c","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"824c26ec_5526e34b","updated":"2023-10-19 15:58:17.000000000","message":"I agree, but cleaning things wont be possible until we are sure nobody is using it anymore.\nMoving to quorum + stream (the purpose of this patch series) is also a breaking change (it\u0027s not possible without destroying the queues)","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"a2122919fe49cdbe6a8e36326f2ab207ef015c37","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"d4ce9d28_ed48cdb7","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"9ccf8cca_b417b8b8","updated":"2023-08-17 10:43:19.000000000","message":"Well, I guess what I meant, this might be confusing if you read the description for the option and rabbitmq doc for quorum queues. So it would be nice to clarify that somewhere.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0969393c7c944be440b99fad81a40adc27527413","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"2c7f7d1f_1c294abc","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"c15020cd_cfb59872","updated":"2023-12-21 12:45:55.000000000","message":"I agree, fwiw we are trying to actively push this, at least when you deploy via kolla-ansible, quorum queues are the default starting with caracal. This is of course still missing this patch/support for all queues.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"3795288323b69ce47df162a1ab08d71d0a161d02","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"824c26ec_5526e34b","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"cf331cf4_d1c96296","updated":"2023-10-17 09:43:13.000000000","message":"\u003e I mostly agree with your comments.\n\u003e I would go further and we should eventually consider removing the concept of \"transient\" queues in oslo.messaging.\n\u003e What do you think?\n\nMaybe that would clean things and expectations up dramatically yes.\nThere also is the new concept of \"streams\" (see https://review.opendev.org/c/openstack/oslo.messaging/+/890825) for such use-cases.\n\nBut coming back to this very change here:\n\nI would STRONGLY suggest to create a roadmap to fully move to quorum queues for EVERYTHING (as this is what RabbitMQ suggest and requires with \u003e\u003d 4.0) and to remove all queue type related options in upcoming release to reduce this cluttered list of options and to free people from confusion. There really is no need to maintain old and non-supported configs (such as Classic Mirror Queues) anymore once there was a \"bridge release\" with a release note instruction folks to convert their queues to quorum queues.\n\nAnd with streams coming up, it would be nice to first clean things up where possible...","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"80bbf7a69f64e4588a1e729ba1dfc9de2c2e91e1","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"e851e405_3d864748","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"cf331cf4_d1c96296","updated":"2023-10-17 08:51:56.000000000","message":"fwiw I agree with Arnaud, but I disagree where this text should be placed. Imho this belongs in the docs and release notes, not ins some low level config option help message most deployers will never see.\nYou can put it also here, it doesn\u0027t hurt, but imho it gets rather long for a help message, no?.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"03e675325aeff383968f3f15715a7156946e02c1","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"e141b371_a62d0a03","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"d4ce9d28_ed48cdb7","updated":"2023-08-24 13:39:22.000000000","message":"I quite like the discussion around this.\n\nTo me the question also is, what clients actually expect and implement and if they REALLY deal with non-durable queues correctly since those are currently used. \n\n* Do they properly reconcile if messages get lost?\n* Do they deal with queues being gone after a RabbitMQ node reboot?\n* See: https://www.rabbitmq.com/queues.html#durability\n\nIf not, they actually require their \"transient\" queues to be \"durable\" and this change to use quorum queues actually fulfills this expectation.\n\n\nIn short: I do believe durable queues are actually what messaging clients currently expect.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"b9510329262f4537b44b002975bcabd25a8917ad","unresolved":true,"context_lines":[{"line_number":170,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":171,"context_line":"    cfg.BoolOpt(\u0027rabbit_transient_quorum_queue\u0027,"},{"line_number":172,"context_line":"                default\u003dFalse,"},{"line_number":173,"context_line":"                help\u003d\u0027Use quorum queues for transients queues in RabbitMQ. \u0027"},{"line_number":174,"context_line":"                \u0027The quorum queue is a modern queue type for RabbitMQ \u0027"},{"line_number":175,"context_line":"                \u0027implementing a durable, replicated FIFO queue based on the \u0027"},{"line_number":176,"context_line":"                \u0027Raft consensus algorithm. It is available as of \u0027"},{"line_number":177,"context_line":"                \u0027RabbitMQ 3.8.0. If set this option will conflict with \u0027"},{"line_number":178,"context_line":"                \u0027the HA queues (``rabbit_ha_queues``) aka mirrored queues, \u0027"},{"line_number":179,"context_line":"                \u0027in other words the HA queues should be disabled, quorum \u0027"},{"line_number":180,"context_line":"                \u0027queues durable by default so the amqp_durable_queues \u0027"},{"line_number":181,"context_line":"                \u0027opion is ignored when this option enabled.\u0027),"},{"line_number":182,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":183,"context_line":"               default\u003d0,"},{"line_number":184,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"cf331cf4_d1c96296","line":181,"range":{"start_line":173,"start_character":0,"end_line":181,"end_character":62},"in_reply_to":"e141b371_a62d0a03","updated":"2023-09-06 13:53:43.000000000","message":"I mostly agree with your comments.\nI would go further and we should eventually consider removing the concept of \"transient\" queues in oslo.messaging.\nWhat do you think?\n\nIn the mean time, I will try to update the help message to reflect this.","commit_id":"4b4943c07b4d526f0e18dc2e24bd803abe63fa2f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"23bc4a6472ae2922c9ef28000b78eebb0c1163b0","unresolved":true,"context_lines":[{"line_number":183,"context_line":"                \u0027Enabling this option will then make sure those queues are \u0027"},{"line_number":184,"context_line":"                \u0027also using quorum kind of rabbit queues, which are HA by \u0027"},{"line_number":185,"context_line":"                \u0027default. \u0027"},{"line_number":186,"context_line":"                \u0027Also note that quorum queues are durable by default, so the \u0027"},{"line_number":187,"context_line":"                \u0027amqp_durable_queues option is ignored when this option is \u0027"},{"line_number":188,"context_line":"                \u0027enabled.\u0027),"},{"line_number":189,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":190,"context_line":"               default\u003d0,"},{"line_number":191,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"1c6fd7cb_753e0475","line":188,"range":{"start_line":186,"start_character":70,"end_line":188,"end_character":26},"updated":"2023-10-11 01:09:09.000000000","message":"iiuc this is not applied to transient queues.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"336b56ec23bbc42c7bcdd7b9e60b95b73427f165","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                \u0027Enabling this option will then make sure those queues are \u0027"},{"line_number":184,"context_line":"                \u0027also using quorum kind of rabbit queues, which are HA by \u0027"},{"line_number":185,"context_line":"                \u0027default. \u0027"},{"line_number":186,"context_line":"                \u0027Also note that quorum queues are durable by default, so the \u0027"},{"line_number":187,"context_line":"                \u0027amqp_durable_queues option is ignored when this option is \u0027"},{"line_number":188,"context_line":"                \u0027enabled.\u0027),"},{"line_number":189,"context_line":"    cfg.IntOpt(\u0027rabbit_quorum_delivery_limit\u0027,"},{"line_number":190,"context_line":"               default\u003d0,"},{"line_number":191,"context_line":"               help\u003d\u0027Each time a message is redelivered to a consumer, \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"f54aa5be_9408dbb8","line":188,"range":{"start_line":186,"start_character":70,"end_line":188,"end_character":26},"in_reply_to":"1c6fd7cb_753e0475","updated":"2023-10-19 15:58:17.000000000","message":"yes, removing this","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"23bc4a6472ae2922c9ef28000b78eebb0c1163b0","unresolved":true,"context_lines":[{"line_number":1535,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1536,"context_line":"            name\u003d\u0027\u0027,  # using default exchange"},{"line_number":1537,"context_line":"            type\u003d\u0027direct\u0027,"},{"line_number":1538,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1539,"context_line":"            auto_delete\u003dTrue,"},{"line_number":1540,"context_line":"            passive\u003dTrue)"},{"line_number":1541,"context_line":"        options \u003d oslo_messaging.TransportOptions("}],"source_content_type":"text/x-python","patch_set":5,"id":"cb1102ee_719511ae","line":1538,"range":{"start_line":1538,"start_character":25,"end_line":1538,"end_character":54},"updated":"2023-10-11 01:09:09.000000000","message":"should we ensure rabbit_quorum_queue is True ? If so they we can probably add a new property like\n\n```\n@property\ndef transient_durable(self):\n    return self.rabbit_quorum_queue and self.rabbit_transient_quorum_queue\n```\n\nand use it","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"336b56ec23bbc42c7bcdd7b9e60b95b73427f165","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1536,"context_line":"            name\u003d\u0027\u0027,  # using default exchange"},{"line_number":1537,"context_line":"            type\u003d\u0027direct\u0027,"},{"line_number":1538,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1539,"context_line":"            auto_delete\u003dTrue,"},{"line_number":1540,"context_line":"            passive\u003dTrue)"},{"line_number":1541,"context_line":"        options \u003d oslo_messaging.TransportOptions("}],"source_content_type":"text/x-python","patch_set":5,"id":"7f627544_259578c3","line":1538,"range":{"start_line":1538,"start_character":25,"end_line":1538,"end_character":54},"in_reply_to":"52bf7d5e_4c885b97","updated":"2023-10-19 15:58:17.000000000","message":"I dont get it, it\u0027s not related to rabbit_quorum_queue.\nIt\u0027s related to rabbit_transient_quorum_queue only.\nRabbit refuse to create a quorum if durable is false.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9c48359616813adc6709f22525b7b56780648db4","unresolved":true,"context_lines":[{"line_number":1535,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1536,"context_line":"            name\u003d\u0027\u0027,  # using default exchange"},{"line_number":1537,"context_line":"            type\u003d\u0027direct\u0027,"},{"line_number":1538,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1539,"context_line":"            auto_delete\u003dTrue,"},{"line_number":1540,"context_line":"            passive\u003dTrue)"},{"line_number":1541,"context_line":"        options \u003d oslo_messaging.TransportOptions("}],"source_content_type":"text/x-python","patch_set":5,"id":"da3aacbf_73a5d85d","line":1538,"range":{"start_line":1538,"start_character":25,"end_line":1538,"end_character":54},"in_reply_to":"7f627544_259578c3","updated":"2023-11-02 04:40:32.000000000","message":"My question is whether it is valid to enable only rabbit_transient_quorum_queue and disable rabbitmq_quorum_queue. If this does not work (which I thought) then we should ignore transient option or probably fail (like we do when rabbit_quorum_queue and rabbit_ha_queues are both enabled)","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"57ad518aa0cf12ece812610114f2e7a865479b0b","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1536,"context_line":"            name\u003d\u0027\u0027,  # using default exchange"},{"line_number":1537,"context_line":"            type\u003d\u0027direct\u0027,"},{"line_number":1538,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1539,"context_line":"            auto_delete\u003dTrue,"},{"line_number":1540,"context_line":"            passive\u003dTrue)"},{"line_number":1541,"context_line":"        options \u003d oslo_messaging.TransportOptions("}],"source_content_type":"text/x-python","patch_set":5,"id":"74aec208_28532fef","line":1538,"range":{"start_line":1538,"start_character":25,"end_line":1538,"end_character":54},"in_reply_to":"9bca4644_9ff280c9","updated":"2023-11-13 01:41:46.000000000","message":"I was not involved in oslo when the initial implementation was launched but my guess is that their initial hope was transient queues were really \"transient\" :-)\n\nIf enabling quorum queue for only transient queues works as \"intended\" then I\u0027m ok with keeping these completely separate.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"05b36f96f6cae6256f177754e56db0d56ff325d0","unresolved":true,"context_lines":[{"line_number":1535,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1536,"context_line":"            name\u003d\u0027\u0027,  # using default exchange"},{"line_number":1537,"context_line":"            type\u003d\u0027direct\u0027,"},{"line_number":1538,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1539,"context_line":"            auto_delete\u003dTrue,"},{"line_number":1540,"context_line":"            passive\u003dTrue)"},{"line_number":1541,"context_line":"        options \u003d oslo_messaging.TransportOptions("}],"source_content_type":"text/x-python","patch_set":5,"id":"52bf7d5e_4c885b97","line":1538,"range":{"start_line":1538,"start_character":25,"end_line":1538,"end_character":54},"in_reply_to":"cb1102ee_719511ae","updated":"2023-10-11 10:42:36.000000000","message":"I agree.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"13051c02e450ef38c24299a4086e7162c1e23837","unresolved":true,"context_lines":[{"line_number":1535,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1536,"context_line":"            name\u003d\u0027\u0027,  # using default exchange"},{"line_number":1537,"context_line":"            type\u003d\u0027direct\u0027,"},{"line_number":1538,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1539,"context_line":"            auto_delete\u003dTrue,"},{"line_number":1540,"context_line":"            passive\u003dTrue)"},{"line_number":1541,"context_line":"        options \u003d oslo_messaging.TransportOptions("}],"source_content_type":"text/x-python","patch_set":5,"id":"f8b4b139_3870eb33","line":1538,"range":{"start_line":1538,"start_character":25,"end_line":1538,"end_character":54},"in_reply_to":"da3aacbf_73a5d85d","updated":"2023-11-10 09:34:20.000000000","message":"I agree with Takashi, this point is not krystal clear so I think either we should add some details into doc and comments or add the kind of check suggested by Takashi.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"13b72d1cc3ec5f236ffd26f43d68eef96ee7043c","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1536,"context_line":"            name\u003d\u0027\u0027,  # using default exchange"},{"line_number":1537,"context_line":"            type\u003d\u0027direct\u0027,"},{"line_number":1538,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1539,"context_line":"            auto_delete\u003dTrue,"},{"line_number":1540,"context_line":"            passive\u003dTrue)"},{"line_number":1541,"context_line":"        options \u003d oslo_messaging.TransportOptions("}],"source_content_type":"text/x-python","patch_set":5,"id":"9bca4644_9ff280c9","line":1538,"range":{"start_line":1538,"start_character":25,"end_line":1538,"end_character":54},"in_reply_to":"f8b4b139_3870eb33","updated":"2023-11-11 23:09:26.000000000","message":"Even if it seems weird, it is valid to have only rabbit_transient_quorum_queue, it\u0027s totally unrelated with rabbit_quorum_queue.\n\nActually, what is weird to me is the fact that oslo.messaging is splitting queues into two groups: regular or transient.\nUntil this split exists, it\u0027s valid to have two options which are unrelated.\n\nIn other words, it\u0027s not because regular queues are quorum that the transient should be (the rabbit_quorum_queue paramater) and it\u0027s not because the transients are quorum that the regular should be (the rabbit_transient_quorum_queue parameter).\n\nUntil we merge both parameters, the two should be unrelated IMHO.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"23bc4a6472ae2922c9ef28000b78eebb0c1163b0","unresolved":true,"context_lines":[{"line_number":1563,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1564,"context_line":"            name\u003d\u0027%s_fanout\u0027 % topic,"},{"line_number":1565,"context_line":"            type\u003d\u0027fanout\u0027,"},{"line_number":1566,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1567,"context_line":"            auto_delete\u003dTrue)"},{"line_number":1568,"context_line":""},{"line_number":1569,"context_line":"        self._ensure_publishing(self._publish, exchange, msg, retry\u003dretry)"}],"source_content_type":"text/x-python","patch_set":5,"id":"cdef7f08_069b3525","line":1566,"range":{"start_line":1566,"start_character":25,"end_line":1566,"end_character":54},"updated":"2023-10-11 01:09:09.000000000","message":"see my comment above.","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"336b56ec23bbc42c7bcdd7b9e60b95b73427f165","unresolved":false,"context_lines":[{"line_number":1563,"context_line":"        exchange \u003d kombu.entity.Exchange("},{"line_number":1564,"context_line":"            name\u003d\u0027%s_fanout\u0027 % topic,"},{"line_number":1565,"context_line":"            type\u003d\u0027fanout\u0027,"},{"line_number":1566,"context_line":"            durable\u003dself.rabbit_transient_quorum_queue,"},{"line_number":1567,"context_line":"            auto_delete\u003dTrue)"},{"line_number":1568,"context_line":""},{"line_number":1569,"context_line":"        self._ensure_publishing(self._publish, exchange, msg, retry\u003dretry)"}],"source_content_type":"text/x-python","patch_set":5,"id":"39d633f4_7a928971","line":1566,"range":{"start_line":1566,"start_character":25,"end_line":1566,"end_character":54},"in_reply_to":"cdef7f08_069b3525","updated":"2023-10-19 15:58:17.000000000","message":"Ack","commit_id":"f1dbb554938a59ded2d5f9bad81381a60f48bb39"}],"releasenotes/notes/rabbit_transient_quorum-fc3c3f88ead90034.yaml":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"13051c02e450ef38c24299a4086e7162c1e23837","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    By enabling quorum for transients, oslo.messaging will declare quorum"},{"line_number":16,"context_line":"    queues instead of classic on rabbitmq. As a result, those queues will"},{"line_number":17,"context_line":"    automatically because HA and durable."},{"line_number":18,"context_line":"    Note that this may have an impact on your cluster, as rabbit will need"},{"line_number":19,"context_line":"    more cpu, ram and network bandwith to manage the queues."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"2649352c_c9cb1019","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":17},"updated":"2023-11-10 09:34:20.000000000","message":"automatically what? This sentence looks weird, a word is missing?","commit_id":"079add978f4887f783028e03c37e4cacd61679e7"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"6988dd0b94ae7354ac33eb379d155d21738f2085","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    By enabling quorum for transients, oslo.messaging will declare quorum"},{"line_number":16,"context_line":"    queues instead of classic on rabbitmq. As a result, those queues will"},{"line_number":17,"context_line":"    automatically because HA and durable."},{"line_number":18,"context_line":"    Note that this may have an impact on your cluster, as rabbit will need"},{"line_number":19,"context_line":"    more cpu, ram and network bandwith to manage the queues."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"716aa8a9_e9567ba1","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":17},"in_reply_to":"2649352c_c9cb1019","updated":"2023-11-11 22:20:23.000000000","message":"damn, I meant become, not because, fix ongoing","commit_id":"079add978f4887f783028e03c37e4cacd61679e7"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"13b72d1cc3ec5f236ffd26f43d68eef96ee7043c","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    By enabling quorum for transients, oslo.messaging will declare quorum"},{"line_number":16,"context_line":"    queues instead of classic on rabbitmq. As a result, those queues will"},{"line_number":17,"context_line":"    automatically because HA and durable."},{"line_number":18,"context_line":"    Note that this may have an impact on your cluster, as rabbit will need"},{"line_number":19,"context_line":"    more cpu, ram and network bandwith to manage the queues."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"666cca6e_604b00f7","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":17},"in_reply_to":"716aa8a9_e9567ba1","updated":"2023-11-11 23:09:26.000000000","message":"Done","commit_id":"079add978f4887f783028e03c37e4cacd61679e7"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0969393c7c944be440b99fad81a40adc27527413","unresolved":true,"context_lines":[{"line_number":19,"context_line":"    more cpu, ram and network bandwith to manage the queues. This was tested"},{"line_number":20,"context_line":"    at pretty large scale (2k hypervisors) with a cluster of 5 nodes."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    Also note that the current rabbitmq implementation rely on a fixed number"},{"line_number":23,"context_line":"    of \"erlang atom\" (5M by default), and one atom is consumed each time a"},{"line_number":24,"context_line":"    quorum queue is created with a different name. If your deployment is doing"},{"line_number":25,"context_line":"    a lot of queue deletion/creation, you may consume all your atoms quicker."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    When enabling quorum for transients, you may also want to update your"},{"line_number":28,"context_line":"    rabbitmq policies accordingly (e.g. make sure they apply on quorum)."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"05a2d625_80b403df","line":25,"range":{"start_line":22,"start_character":4,"end_line":25,"end_character":77},"updated":"2023-12-21 12:45:55.000000000","message":"it should be also mentioned in the docs, that you can adjust this via the `-t` parameter to the erlang vm.\n\nAlso some openstack services do create and delete a lot of queues by default.\n\nwhen searching for this upstream however I found nowhere this \"5M\" (I assume that is 5.000.000?) number?\n\nhttps://www.rabbitmq.com/memory-use.html#breakdown-http-api-curl mentions \"1041593\" instead, and these sources also differ:\n\n\"1048576\" from http://erlang.org/documentation/doc-14/doc/efficiency_guide/advanced.html#system-limits\n\nSo where does this value come from?","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0969393c7c944be440b99fad81a40adc27527413","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"56a18753_fe36807d","line":32,"range":{"start_line":6,"start_character":4,"end_line":32,"end_character":1},"updated":"2023-12-21 12:45:55.000000000","message":"imho this whole documentation needs to also go into the docs, not just into a release note.","commit_id":"989dbb8aad8be68a9c63e2e6a4d445cc445c051c"}]}
