)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"1518a28245326ecc848b3a9c760d53c4c726e8cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0ed2cc7b_80c3a5c8","updated":"2023-08-11 17:31:51.000000000","message":"recheck","commit_id":"2a69394890e51b3978b5bf36bb3eb8cf3b31547e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"394191949dc2db388409eca9ad4bec976ce6f14b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b264bc4b_812fbb7f","updated":"2023-08-29 09:24:58.000000000","message":"Could we get some updates to the docs for how to configure all of these new knobs? Perhaps a high-level best configuration for a particular architecture? As things stand, there\u0027s a lot here and it\u0027s tough to know what to set and what not to set...","commit_id":"adeeadb16ba774ab16caf1ed13cddac89d76bc27"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"36c4e5fbe483e3e41953a46c8b291e82887b168e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7b244ab8_49f7baa3","in_reply_to":"3eb18972_88ec39ec","updated":"2023-09-26 15:07:09.000000000","message":"I agree with you, my initial plan is to introduce all of this, being disabled by default so the behavior is not changing for now.\nWhen all is correctly set in code, we can start documenting how to configure all of this when needed. I initially plan to document that in large-scale doc [1].\nI can already do a draft of this so you will see what we currently use on our production.\n\nFinally, we can switch all these options by default, but not that most of them are breaking change and need the queues to be deleted / recreated (e.g. switching fanouts to streams is not doable in \"live\").","commit_id":"adeeadb16ba774ab16caf1ed13cddac89d76bc27"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"2048cbf6afc1c29312fe6f31959aac8a106b4285","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7d60eb3d_b87de67e","in_reply_to":"7b244ab8_49f7baa3","updated":"2023-10-18 09:14:38.000000000","message":"Switching from classic queue to quorum is also not possible \"live\" (there are migration steps for RabbitMQ, see https://www.rabbitmq.com/migrate-mcq-to-qq.html, but likely only makes sense for larger clouds)\n\nIn any case a complete cut-over to a certain type of queue is necessary as there are quite a few \"shared\" queues such as notifications.* which all openstack services use. And they then need to align for a certain queue type there anyways.","commit_id":"adeeadb16ba774ab16caf1ed13cddac89d76bc27"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"cf56da44387802d6da52cc48cb6205c70a657f0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3eb18972_88ec39ec","in_reply_to":"b264bc4b_812fbb7f","updated":"2023-08-31 11:44:17.000000000","message":"I agree this should be communicated a little broader for all installations and deployment tools to benefit the most from the improvements first the quorum queues (for durable queues) and now streams brought to oslo.messaging.\n\nBut there should be not more and more knobs to know and to fine-tune. Rather a clear transition should be outlined that brings every install away from classic queues (removed from RabbitMQ with 4.0 anyways) and towards streams. There is no benefit in keeping and exposing all settings and to support all potential variants of queues. oslo.messaging serves OpenStack projects best if it simply does the things properly out of the box - no fiddling and configuration required.\n\nI also suggested to make \"cleaning up the RabbitMQ mess\" a community goal and to have all services and things move over with the same release, see https://lists.openstack.org/pipermail/openstack-discuss/2023-June/034307.html","commit_id":"adeeadb16ba774ab16caf1ed13cddac89d76bc27"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"56bcfba71b76f4c1d7d910e0c90312c6ae6ecf9c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"5e53cbeb_0f8d7cea","updated":"2024-01-15 09:08:20.000000000","message":"Looks good to merge.","commit_id":"e95f334459d4dfd3778ec9e84d716f69f2c08ad5"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"752bd45d5b2466b4869323ef2c72dc6e68ae1095","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"14960a66_208680b7","updated":"2024-01-19 11:51:58.000000000","message":"recheck","commit_id":"e95f334459d4dfd3778ec9e84d716f69f2c08ad5"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"c3c828f303ac2b6d3e7a99b1729a50baa141aab7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"22a871b2_2de22835","updated":"2024-01-17 10:46:06.000000000","message":"recheck","commit_id":"e95f334459d4dfd3778ec9e84d716f69f2c08ad5"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"cc158d651404f66b040c0288f7df69f538fe092b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"48a1ec08_7e0cb036","updated":"2024-01-15 10:34:30.000000000","message":"recheck","commit_id":"e95f334459d4dfd3778ec9e84d716f69f2c08ad5"}],"oslo_messaging/_drivers/impl_rabbit.py":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"9e9e4c5798e5b5fef5d71dd012770e9f05720ca4","unresolved":false,"context_lines":[{"line_number":702,"context_line":"                               \u0027need rabbit_qos_prefetch_count to be set to \u0027"},{"line_number":703,"context_line":"                               \u0027a value greater than 0.\u0027)"},{"line_number":704,"context_line":""},{"line_number":705,"context_line":"        if (self.rabbit_stream_fanout"},{"line_number":706,"context_line":"                and not self.rabbit_transient_quorum_queue):"},{"line_number":707,"context_line":"            raise RuntimeError(\u0027Configuration Error: rabbit_stream_fanout \u0027"},{"line_number":708,"context_line":"                               \u0027need rabbit_transient_quorum_queue to be set \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"66219968_845da84c","line":705,"updated":"2023-12-05 15:02:28.000000000","message":"stream cannot live without quorum, that\u0027s my addition in patchset 8","commit_id":"40b9b1dc396e36c245450c5ad5ae815a5b3f9731"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"a0aaf6647102161f7c95b10f382f80f62bacbccb","unresolved":true,"context_lines":[{"line_number":343,"context_line":"        args \u003d {\u0027x-queue-type\u0027: \u0027stream\u0027}"},{"line_number":344,"context_line":"        if rabbit_queue_ttl \u003e 0:"},{"line_number":345,"context_line":"            # max-age is a string"},{"line_number":346,"context_line":"            args[\u0027x-max-age\u0027] \u003d str(rabbit_queue_ttl) + \u0027s\u0027"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"    return args"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"0b5bd5ff_b64fe0e2","line":346,"updated":"2024-01-12 16:51:55.000000000","message":"I suggest to use f-strings here.","commit_id":"97b0ed799b0ec34c13689f729b353c8855423f9b"},{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"086d3b7abd67a2967fc2da067e53054c71ac43e0","unresolved":false,"context_lines":[{"line_number":343,"context_line":"        args \u003d {\u0027x-queue-type\u0027: \u0027stream\u0027}"},{"line_number":344,"context_line":"        if rabbit_queue_ttl \u003e 0:"},{"line_number":345,"context_line":"            # max-age is a string"},{"line_number":346,"context_line":"            args[\u0027x-max-age\u0027] \u003d str(rabbit_queue_ttl) + \u0027s\u0027"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"    return args"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"353461a4_2bc708ad","line":346,"in_reply_to":"0b5bd5ff_b64fe0e2","updated":"2024-01-15 08:24:00.000000000","message":"Done","commit_id":"97b0ed799b0ec34c13689f729b353c8855423f9b"}]}
