)]}'
{"oslo_messaging/_drivers/impl_rabbit.py":[{"author":{"_account_id":18805,"name":"Alexey Lebedev","email":"alebedev@mirantis.com","username":"binarin"},"change_message_id":"ae56074e4698541ed113339e47a3cd2a149a92c0","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                     \u0027If you change this option, you must wipe the \u0027"},{"line_number":139,"context_line":"                     \u0027RabbitMQ database.\u0027),"},{"line_number":140,"context_line":"    cfg.IntOpt(\u0027rabbit_queue_ttl\u0027,"},{"line_number":141,"context_line":"               default\u003d300,"},{"line_number":142,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":143,"context_line":"               help\u003d\u0027Duration in seconds for queue TTL (x-expires). \u0027"},{"line_number":144,"context_line":"                    \u0027Queues which are unused for the duration of the TTL \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_1771c1e0","line":141,"updated":"2015-11-13 10:17:55.000000000","message":"I don\u0027t think that it should be enabled by default and uncoditionally. It would be better to disable it by default, like the \u0027rabbit_ha_queues\u0027 from above.","commit_id":"0e5b41aa130255b7bcfe6a94e4a73c2c2515149d"},{"author":{"_account_id":9257,"name":"John Eckersberg","email":"jeckersb@redhat.com","username":"jeckersb"},"change_message_id":"ca085438d23d53b38bae7a7d81da57fc5737ec0a","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                     \u0027If you change this option, you must wipe the \u0027"},{"line_number":139,"context_line":"                     \u0027RabbitMQ database.\u0027),"},{"line_number":140,"context_line":"    cfg.IntOpt(\u0027rabbit_queue_ttl\u0027,"},{"line_number":141,"context_line":"               default\u003d300,"},{"line_number":142,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":143,"context_line":"               help\u003d\u0027Duration in seconds for queue TTL (x-expires). \u0027"},{"line_number":144,"context_line":"                    \u0027Queues which are unused for the duration of the TTL \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_b876a4d6","line":141,"in_reply_to":"da85f559_1771c1e0","updated":"2015-11-20 22:23:57.000000000","message":"Done","commit_id":"0e5b41aa130255b7bcfe6a94e4a73c2c2515149d"},{"author":{"_account_id":18805,"name":"Alexey Lebedev","email":"alebedev@mirantis.com","username":"binarin"},"change_message_id":"ae56074e4698541ed113339e47a3cd2a149a92c0","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    It is important to note that a queue which is declared"},{"line_number":187,"context_line":"    auto_delete, but never consumed from, will *not* delete.  Because"},{"line_number":188,"context_line":"    of this, a queue TTL is highly recommended to prevent such queues"},{"line_number":189,"context_line":"    from growing indefinitely."},{"line_number":190,"context_line":"    \"\"\""},{"line_number":191,"context_line":"    args \u003d {}"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_5c4e8e97","line":189,"updated":"2015-11-13 10:17:55.000000000","message":"Is there a reason not to use exclusive queues instead of auto_delete+TTL? Shouldn\u0027t be the scope of this new setting limited to only some type of queues (e.g. RPC reply queues)? Especially given that 300 second default value from above.","commit_id":"0e5b41aa130255b7bcfe6a94e4a73c2c2515149d"},{"author":{"_account_id":18805,"name":"Alexey Lebedev","email":"alebedev@mirantis.com","username":"binarin"},"change_message_id":"6895bca1ed3c1bcd509736e4d280ff2538ca5076","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    It is important to note that a queue which is declared"},{"line_number":187,"context_line":"    auto_delete, but never consumed from, will *not* delete.  Because"},{"line_number":188,"context_line":"    of this, a queue TTL is highly recommended to prevent such queues"},{"line_number":189,"context_line":"    from growing indefinitely."},{"line_number":190,"context_line":"    \"\"\""},{"line_number":191,"context_line":"    args \u003d {}"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_75e7a512","line":189,"in_reply_to":"ba8a016a_d51c8ac3","updated":"2015-11-23 15:41:20.000000000","message":"A few IMHOs:\n- In the nova-conductor example from above it\u0027s better to use per-message TTL\n- Both message and queue TTLs could be set using \"rabbitmqctl set_policy\", and it can be done in selective fashion, by matching queue name by regex. Solution in this patch is less flexible.","commit_id":"0e5b41aa130255b7bcfe6a94e4a73c2c2515149d"},{"author":{"_account_id":9257,"name":"John Eckersberg","email":"jeckersb@redhat.com","username":"jeckersb"},"change_message_id":"ca085438d23d53b38bae7a7d81da57fc5737ec0a","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    It is important to note that a queue which is declared"},{"line_number":187,"context_line":"    auto_delete, but never consumed from, will *not* delete.  Because"},{"line_number":188,"context_line":"    of this, a queue TTL is highly recommended to prevent such queues"},{"line_number":189,"context_line":"    from growing indefinitely."},{"line_number":190,"context_line":"    \"\"\""},{"line_number":191,"context_line":"    args \u003d {}"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_d51c8ac3","line":189,"in_reply_to":"da85f559_5c4e8e97","updated":"2015-11-20 22:23:57.000000000","message":"Using exclusive queues is a really good idea.  I\u0027ll try to go through and make that the default everywhere where it makes sense (in a new change).\n\nI think it still makes sense to allow users to define a global, non-default TTL that applies to all queues as a safeguard.  Here\u0027s another example where it would be useful:\n\nWhat happens if a service, say nova-conductor, is stopped/crashed/disconnected for a while?  The conductor queue isn\u0027t auto_delete, and exclusive doesn\u0027t make sense, so it will accumulate messages while the service is down since there are no consumers.  Given a high enough message rate in a large scale deployment, or a long enough time for the service to be stopped, the queue can accumulate a very large number of messages and begin to cause performance problems and memory pressure.\n\nI\u0027ve reworded the comment to be more general and not so specific about the auto_delete case.","commit_id":"0e5b41aa130255b7bcfe6a94e4a73c2c2515149d"},{"author":{"_account_id":18805,"name":"Alexey Lebedev","email":"alebedev@mirantis.com","username":"binarin"},"change_message_id":"ae56074e4698541ed113339e47a3cd2a149a92c0","unresolved":false,"context_lines":[{"line_number":265,"context_line":"            # See https://bugs.launchpad.net/neutron/+bug/1318721 for details."},{"line_number":266,"context_line":"            if exc.code \u003d\u003d 404:"},{"line_number":267,"context_line":"                self.queue.declare()"},{"line_number":268,"context_line":"            if exc.code \u003d\u003d 406:"},{"line_number":269,"context_line":"                # NOTE(jeckersb): Queue already exists with a"},{"line_number":270,"context_line":"                # different set of options and/or arguments.  This"},{"line_number":271,"context_line":"                # will occur when attributes have been changed (ha"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_774dadc3","line":268,"updated":"2015-11-13 10:17:55.000000000","message":"elif, or we will raise exception on 404 which was properly handled","commit_id":"0e5b41aa130255b7bcfe6a94e4a73c2c2515149d"},{"author":{"_account_id":9257,"name":"John Eckersberg","email":"jeckersb@redhat.com","username":"jeckersb"},"change_message_id":"ca085438d23d53b38bae7a7d81da57fc5737ec0a","unresolved":false,"context_lines":[{"line_number":265,"context_line":"            # See https://bugs.launchpad.net/neutron/+bug/1318721 for details."},{"line_number":266,"context_line":"            if exc.code \u003d\u003d 404:"},{"line_number":267,"context_line":"                self.queue.declare()"},{"line_number":268,"context_line":"            if exc.code \u003d\u003d 406:"},{"line_number":269,"context_line":"                # NOTE(jeckersb): Queue already exists with a"},{"line_number":270,"context_line":"                # different set of options and/or arguments.  This"},{"line_number":271,"context_line":"                # will occur when attributes have been changed (ha"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_18481087","line":268,"in_reply_to":"da85f559_774dadc3","updated":"2015-11-20 22:23:57.000000000","message":"Done","commit_id":"0e5b41aa130255b7bcfe6a94e4a73c2c2515149d"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"46f3469213f4991f150c007feba5ea30daa95fc6","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                     \u0027RabbitMQ database.\u0027),"},{"line_number":140,"context_line":"    cfg.IntOpt(\u0027rabbit_queue_ttl\u0027,"},{"line_number":141,"context_line":"               default\u003d0,"},{"line_number":142,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":143,"context_line":"               help\u003d\u0027Duration in seconds for queue TTL (x-expires). \u0027"},{"line_number":144,"context_line":"                    \u0027Queues which are unused for the duration of the TTL \u0027"},{"line_number":145,"context_line":"                    \u0027are automatically deleted. A value of 0 disables TTLs.\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_c6a7c909","line":142,"updated":"2015-11-23 17:11:57.000000000","message":"There is no need for deprecated_group argument since that is a brand new parameter.","commit_id":"109f15bcf5d310d50bd3c0c6fe4795d6011ecfd6"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"15ce960456c1b54729469259dde1d9524d520206","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                     \u0027RabbitMQ database.\u0027),"},{"line_number":140,"context_line":"    cfg.IntOpt(\u0027rabbit_queue_ttl\u0027,"},{"line_number":141,"context_line":"               default\u003d0,"},{"line_number":142,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":143,"context_line":"               help\u003d\u0027Duration in seconds for queue TTL (x-expires). \u0027"},{"line_number":144,"context_line":"                    \u0027Queues which are unused for the duration of the TTL \u0027"},{"line_number":145,"context_line":"                    \u0027are automatically deleted. A value of 0 disables TTLs.\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_a32063f8","line":142,"in_reply_to":"ba8a016a_c6a7c909","updated":"2016-01-08 20:50:34.000000000","message":"It is undesired to delete queue with notification messages. But for RPC it looks like resonable. Could you create mo specific option for RPC queues only?","commit_id":"109f15bcf5d310d50bd3c0c6fe4795d6011ecfd6"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"46f3469213f4991f150c007feba5ea30daa95fc6","unresolved":false,"context_lines":[{"line_number":957,"context_line":"                            auto_delete\u003dself.amqp_auto_delete,"},{"line_number":958,"context_line":"                            callback\u003dcallback,"},{"line_number":959,"context_line":"                            rabbit_ha_queues\u003dself.rabbit_ha_queues,"},{"line_number":960,"context_line":"                            rabbit_queue_ttl\u003dself.rabbit_queue_ttl)"},{"line_number":961,"context_line":""},{"line_number":962,"context_line":"        self.declare_consumer(consumer)"},{"line_number":963,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_64ca96a3","line":960,"updated":"2015-11-23 17:11:57.000000000","message":"I think we should set TTL only to direct and fanout consumer. The first one is used for reply queues, while the second - for fanout ones.\n\nTopic consumer is used for everything else, including Ceilometer queues. Since it is used as a billing solution, I don\u0027t think it is tolerable to loose some data just because all consumers died or were stopped for some time.\n\nOr at least lets make that configurable via another boolean parameter, analogous to amqp_auto_delete, which applies to topic case only.","commit_id":"109f15bcf5d310d50bd3c0c6fe4795d6011ecfd6"},{"author":{"_account_id":7109,"name":"Dmitry Mescheryakov (dmitryme)","email":"dmescheryakov@mirantis.com","username":"dmitryme"},"change_message_id":"46f3469213f4991f150c007feba5ea30daa95fc6","unresolved":false,"context_lines":[{"line_number":1061,"context_line":"                name\u003drouting_key,"},{"line_number":1062,"context_line":"                routing_key\u003drouting_key,"},{"line_number":1063,"context_line":"                queue_arguments\u003d_get_queue_arguments(self.rabbit_ha_queues,"},{"line_number":1064,"context_line":"                                                     self.rabbit_queue_ttl))"},{"line_number":1065,"context_line":"            log_info \u003d {\u0027key\u0027: routing_key, \u0027exchange\u0027: exchange}"},{"line_number":1066,"context_line":"            LOG.trace("},{"line_number":1067,"context_line":"                \u0027Connection._publish_and_creates_default_queue: \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_e403e6b6","line":1064,"updated":"2015-11-23 17:11:57.000000000","message":"Comment above applies to that place as well because that method is used for topics only.","commit_id":"109f15bcf5d310d50bd3c0c6fe4795d6011ecfd6"}]}
