)]}'
{"oslo/messaging/_drivers/amqpdriver.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def __init__(self, listener, ctxt, message, raw_message, msg_id, reply_q):"},{"line_number":34,"context_line":"        super(AMQPIncomingMessage, self).__init__(listener, ctxt, message,"},{"line_number":35,"context_line":"                                                  raw_message)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.msg_id \u003d msg_id"},{"line_number":38,"context_line":"        self.reply_q \u003d reply_q"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9uss%3D","line":35,"updated":"2013-12-06 16:36:12.000000000","message":"I\u0027m not loving this message/raw message thing\n\nraw_message is just an object that we expect to be able to call ack(), reject() and requeue() on\n\nmessage is a dict\n\nI\u0027d prefer if we could have a driver specific message dict with ack(), reject() and requeue() methods\n\nWhat about:\n\n class RabbitMessage(dict):\n\n    def __init__(self, raw_message):\n        super(Message, self).__init__(rpc_common.deserialize_msg(message.payload))\n        self._raw_message \u003d raw_message\n\n    def ack(self):\n        self._raw_message.ack()\n\n    def requeue(self):\n        self._raw_message.requeue()","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def __init__(self, listener, ctxt, message, raw_message, msg_id, reply_q):"},{"line_number":34,"context_line":"        super(AMQPIncomingMessage, self).__init__(listener, ctxt, message,"},{"line_number":35,"context_line":"                                                  raw_message)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.msg_id \u003d msg_id"},{"line_number":38,"context_line":"        self.reply_q \u003d reply_q"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XQc%3D","line":35,"in_reply_to":"AAAATn%2F9uss%3D","updated":"2013-12-12 08:29:33.000000000","message":"I haven\u0027t yet think about this this comment, I will copy/paste it into the next patchset","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            self._send_reply(conn, ending\u003dTrue)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def acknowledge(self):"},{"line_number":67,"context_line":"        with self.listener.driver._get_connection() as conn:"},{"line_number":68,"context_line":"            conn.acknowledge(self.raw_message)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def requeue(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9u1s%3D","line":67,"updated":"2013-12-06 16:36:12.000000000","message":"Wait, why are you opening a new connection?\n\nAt least in this patch, we\u0027re still in the listener greenthread and should have exclusive use of the listener\u0027s connection ... I presume calling message.ack() actually is using the listener\u0027s connection anyway","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":8784,"name":"Gordon Sim","email":"gsim@redhat.com","username":"gordonsim"},"change_message_id":"56478560e7851465154c7bfdf82ec5fb577c3a59","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            self._send_reply(conn, ending\u003dTrue)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def acknowledge(self):"},{"line_number":67,"context_line":"        with self.listener.driver._get_connection() as conn:"},{"line_number":68,"context_line":"            conn.acknowledge(self.raw_message)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def requeue(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9uj4%3D","line":67,"in_reply_to":"AAAATn%2F9u1s%3D","updated":"2013-12-06 17:05:21.000000000","message":"(The delivery tag in 0-9-1 is most likely not even valid on a different channel/connection from which it was sent on, or may refer to a different message. The same would be true for the equivalent in 0-10 for impl_qpid.)","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            self._send_reply(conn, ending\u003dTrue)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def acknowledge(self):"},{"line_number":67,"context_line":"        with self.listener.driver._get_connection() as conn:"},{"line_number":68,"context_line":"            conn.acknowledge(self.raw_message)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def requeue(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XR4%3D","line":67,"in_reply_to":"AAAATn%2F9uj4%3D","updated":"2013-12-12 08:29:33.000000000","message":"I have changed that, now it is done is the same connection","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def requeue(self):"},{"line_number":71,"context_line":"        with self.listener.driver._get_connection() as conn:"},{"line_number":72,"context_line":"            conn.requeue(self.raw_message)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"class AMQPListener(base.Listener):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9uq0%3D","line":72,"updated":"2013-12-06 16:36:12.000000000","message":"Let\u0027s keep requeue() out of this patch","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def requeue(self):"},{"line_number":71,"context_line":"        with self.listener.driver._get_connection() as conn:"},{"line_number":72,"context_line":"            conn.requeue(self.raw_message)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"class AMQPListener(base.Listener):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XSI%3D","line":72,"in_reply_to":"AAAATn%2F9uq0%3D","updated":"2013-12-12 08:29:33.000000000","message":"Done","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"a853edfa3a918f4a7e5584a70f2a8c03c611d68d","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, listener, ctxt, message, raw_message, msg_id, reply_q):"},{"line_number":36,"context_line":"        super(AMQPIncomingMessage, self).__init__(listener, ctxt, message,"},{"line_number":37,"context_line":"                                                  raw_message)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        self.msg_id \u003d msg_id"},{"line_number":40,"context_line":"        self.reply_q \u003d reply_q"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9XOc%3D","line":37,"updated":"2013-12-12 08:34:43.000000000","message":"copy/paste of remaining comment of Mark McLoughlin:\n\nI\u0027m not loving this message/raw message thing\n\nraw_message is just an object that we expect to be able to call ack(), reject() and requeue() on\n\nmessage is a dict\n\nI\u0027d prefer if we could have a driver specific message dict with ack(), reject() and requeue() methods\n\nWhat about:\n\n class RabbitMessage(dict):\n    def __init__(self, raw_message):\n        super(Message, self).__init__(rpc_common.deserialize_msg(message.payload))\n        self._raw_message \u003d raw_message\n    def ack(self):\n        self._raw_message.ack()\n    def requeue(self):\n        self._raw_message.requeue()","commit_id":"2d1e2a3552e80e749a2d04dac9d22a3eb50d7574"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"0b04aea06e9ea8363c57954c5b602e28f5c07d6c","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def __init__(self, listener, ctxt, message, raw_message, msg_id, reply_q):"},{"line_number":36,"context_line":"        super(AMQPIncomingMessage, self).__init__(listener, ctxt, message,"},{"line_number":37,"context_line":"                                                  raw_message)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        self.msg_id \u003d msg_id"},{"line_number":40,"context_line":"        self.reply_q \u003d reply_q"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9XFk%3D","line":37,"in_reply_to":"AAAATn%2F9XOc%3D","updated":"2013-12-12 09:19:16.000000000","message":"Looks sexier, done","commit_id":"2d1e2a3552e80e749a2d04dac9d22a3eb50d7574"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"58912dc6949b35d1eb45449f4c9eac8e11ce917c","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class AMQPIncomingMessage(base.IncomingMessage):"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def __init__(self, listener, ctxt, message, msg_id, reply_q):"},{"line_number":35,"context_line":"        super(AMQPIncomingMessage, self).__init__(listener, ctxt, message)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.msg_id \u003d msg_id"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQxo%3D","line":34,"updated":"2014-02-14 12:57:25.000000000","message":"How about this:\n\n  def __init__(self, listener, ctxt, message, msg_id, reply_q):\n      self.acknowledge \u003d message.acknowledge\n\n      super(AMQPIncomingMessage, self).__init__(listener, ctxt, dict(message))\n\nthat way you avoid the dict() in the executor","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"7bade7d00ef30e8789be3a35ca90fd4cad7d3c55","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class AMQPIncomingMessage(base.IncomingMessage):"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def __init__(self, listener, ctxt, message, msg_id, reply_q):"},{"line_number":35,"context_line":"        super(AMQPIncomingMessage, self).__init__(listener, ctxt, message)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        self.msg_id \u003d msg_id"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FP%2FM%3D","line":34,"in_reply_to":"AAAAUX%2F%2FQxo%3D","updated":"2014-02-14 14:51:14.000000000","message":"Looks a bit hackish, but I prefer that than the dict in the executor, done.","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"58912dc6949b35d1eb45449f4c9eac8e11ce917c","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def __call__(self, message):"},{"line_number":79,"context_line":"        # FIXME(markmc): logging isn\u0027t driver specific"},{"line_number":80,"context_line":"        rpc_common._safe_log(LOG.debug, \u0027received %s\u0027, dict(message))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        self.msg_id_cache.check_duplicate_message(message)"},{"line_number":83,"context_line":"        ctxt \u003d rpc_amqp.unpack_context(self.conf, message)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQ5A%3D","line":80,"updated":"2014-02-14 12:57:25.000000000","message":"this dict conversion seems unrelated","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"7bade7d00ef30e8789be3a35ca90fd4cad7d3c55","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def __call__(self, message):"},{"line_number":79,"context_line":"        # FIXME(markmc): logging isn\u0027t driver specific"},{"line_number":80,"context_line":"        rpc_common._safe_log(LOG.debug, \u0027received %s\u0027, dict(message))"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        self.msg_id_cache.check_duplicate_message(message)"},{"line_number":83,"context_line":"        ctxt \u003d rpc_amqp.unpack_context(self.conf, message)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQMk%3D","line":80,"in_reply_to":"AAAAUX%2F%2FQ5A%3D","updated":"2014-02-14 14:51:14.000000000","message":"rpc_common._safe_log except a dict not an object. The implementation doesn\u0027t work with a object.","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"}],"oslo/messaging/_drivers/base.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @abc.abstractmethod"},{"line_number":46,"context_line":"    def requeue(self):"},{"line_number":47,"context_line":"        \"Requeue the message.\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9urE%3D","line":47,"updated":"2013-12-06 16:36:12.000000000","message":"no requeue in this patch","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @abc.abstractmethod"},{"line_number":46,"context_line":"    def requeue(self):"},{"line_number":47,"context_line":"        \"Requeue the message.\""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XR0%3D","line":47,"in_reply_to":"AAAATn%2F9urE%3D","updated":"2013-12-12 08:29:33.000000000","message":"Done","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"58912dc6949b35d1eb45449f4c9eac8e11ce917c","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @abc.abstractmethod"},{"line_number":41,"context_line":"    def acknowledge(self):"},{"line_number":42,"context_line":"        \"Acknowledge the message.\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQzM%3D","line":42,"updated":"2014-02-14 12:57:25.000000000","message":"Since both fake and zmq don\u0027t do anything here, let\u0027s not make it an abstract method - i.e. a default implementation of \"do nothing\" is fine","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"7bade7d00ef30e8789be3a35ca90fd4cad7d3c55","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @abc.abstractmethod"},{"line_number":41,"context_line":"    def acknowledge(self):"},{"line_number":42,"context_line":"        \"Acknowledge the message.\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQCo%3D","line":42,"in_reply_to":"AAAAUX%2F%2FQzM%3D","updated":"2014-02-14 14:51:14.000000000","message":"make sense, done","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"}],"oslo/messaging/_drivers/impl_fake.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"ee93d2f1f60e6246638f99e391a0a88438441026","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            failure \u003d failure[1] if failure else None"},{"line_number":38,"context_line":"            self._reply_q.put((reply, failure))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def acknowledge(self):"},{"line_number":41,"context_line":"        pass"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def requeue(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F91O8%3D","line":40,"updated":"2013-12-05 13:40:47.000000000","message":"@staticmethod","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            failure \u003d failure[1] if failure else None"},{"line_number":38,"context_line":"            self._reply_q.put((reply, failure))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def acknowledge(self):"},{"line_number":41,"context_line":"        pass"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def requeue(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XRs%3D","line":40,"in_reply_to":"AAAATn%2F91O8%3D","updated":"2013-12-12 08:29:33.000000000","message":"Done","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"698290a5cc86c52fd3ac912753be922c51e285b1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            failure \u003d failure[1] if failure else None"},{"line_number":38,"context_line":"            self._reply_q.put((reply, failure))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def acknowledge(self):"},{"line_number":41,"context_line":"        pass"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def requeue(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9vE8%3D","line":40,"in_reply_to":"AAAATn%2F91O8%3D","updated":"2013-12-06 15:45:41.000000000","message":"I saw you suggest this somewhere else too ... marking a method in a base class as static but the method in subclasses as non-static ... that seems weird to me, but I guess it\u0027s ok ...","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            self._target.topic, self.ctxt, self.message,"},{"line_number":46,"context_line":"            server\u003dself._target.server,"},{"line_number":47,"context_line":"            fanout\u003dself._target.fanout,"},{"line_number":48,"context_line":"            reply_q\u003dself._reply_q)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class FakeListener(base.Listener):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9urQ%3D","line":48,"updated":"2013-12-06 16:36:12.000000000","message":"requeue() doesn\u0027t belong in this patch","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            self._target.topic, self.ctxt, self.message,"},{"line_number":46,"context_line":"            server\u003dself._target.server,"},{"line_number":47,"context_line":"            fanout\u003dself._target.fanout,"},{"line_number":48,"context_line":"            reply_q\u003dself._reply_q)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class FakeListener(base.Listener):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XRw%3D","line":48,"in_reply_to":"AAAATn%2F9urQ%3D","updated":"2013-12-12 08:29:33.000000000","message":"Done","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"273f6c77066d67274119f432cb796649efc8c323","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            failure \u003d failure[1] if failure else None"},{"line_number":36,"context_line":"            self._reply_q.put((reply, failure))"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def acknowledge(self):"},{"line_number":39,"context_line":"        pass"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F86ns%3D","line":38,"updated":"2013-12-18 20:40:56.000000000","message":"@staticmethod","commit_id":"30c07e54292895c0d32e6886f6feb11c3e9f328f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"c3c34d37124b842ea28f9bfb81d3a8806fa219db","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            failure \u003d failure[1] if failure else None"},{"line_number":36,"context_line":"            self._reply_q.put((reply, failure))"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def acknowledge(self):"},{"line_number":39,"context_line":"        pass"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F83Hc%3D","line":38,"in_reply_to":"AAAATn%2F86ns%3D","updated":"2013-12-19 13:36:40.000000000","message":"Done","commit_id":"30c07e54292895c0d32e6886f6feb11c3e9f328f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"c8c6dd42e6c4a95b3872de979cffe596d16125a0","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                if message is not None:"},{"line_number":51,"context_line":"                    message \u003d FakeIncomingMessage(self, ctxt, message, reply_q)"},{"line_number":52,"context_line":"                    message.acknowledge()"},{"line_number":53,"context_line":"                    return message"},{"line_number":54,"context_line":"            time.sleep(.05)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2FECw%3D","line":53,"updated":"2014-02-17 11:08:48.000000000","message":"This is a bit superfluous since this driver doesn\u0027t do anything to ack a message, but no big deal ...","commit_id":"0d102aa361cd92e7a240035980baced6812ada74"}],"oslo/messaging/_drivers/impl_qpid.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"0f35fa11765dcc90cd5be6052897710574028d1b","unresolved":false,"context_lines":[{"line_number":190,"context_line":"            self.callback(msg)"},{"line_number":191,"context_line":"        except Exception:"},{"line_number":192,"context_line":"            LOG.exception(_(\"Failed to process message... skipping it.\"))"},{"line_number":193,"context_line":"        finally:"},{"line_number":194,"context_line":"            self.session.acknowledge(message)"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def get_receiver(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9%2Fxo%3D","side":"PARENT","line":193,"updated":"2013-12-03 17:01:05.000000000","message":"I have missed to remove this line.","commit_id":"560a4cfa4a19b3e0b26a57d75b25a89e9e817574"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"ee93d2f1f60e6246638f99e391a0a88438441026","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    def acknowledge(self, message):"},{"line_number":542,"context_line":"        self.ensure(None, self.session.acknowledge, message)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def requeue(self, message):"},{"line_number":545,"context_line":"        raise NotImplementedError(\u0027The QPID driver does not yet support \u0027"},{"line_number":546,"context_line":"                                  \u0027requeue messages\u0027)"},{"line_number":547,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F91Oo%3D","line":544,"updated":"2013-12-05 13:40:47.000000000","message":"@staticmethod","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":541,"context_line":"    def acknowledge(self, message):"},{"line_number":542,"context_line":"        self.ensure(None, self.session.acknowledge, message)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def requeue(self, message):"},{"line_number":545,"context_line":"        raise NotImplementedError(\u0027The QPID driver does not yet support \u0027"},{"line_number":546,"context_line":"                                  \u0027requeue messages\u0027)"},{"line_number":547,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XRo%3D","line":544,"in_reply_to":"AAAATn%2F91Oo%3D","updated":"2013-12-12 08:29:33.000000000","message":"Method removed","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def requeue(self, message):"},{"line_number":545,"context_line":"        raise NotImplementedError(\u0027The QPID driver does not yet support \u0027"},{"line_number":546,"context_line":"                                  \u0027requeue messages\u0027)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    def close(self):"},{"line_number":549,"context_line":"        \"\"\"Close/release this connection.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9urM%3D","line":546,"updated":"2013-12-06 16:36:12.000000000","message":"Ditto, no requeue() in this patch","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    def requeue(self, message):"},{"line_number":545,"context_line":"        raise NotImplementedError(\u0027The QPID driver does not yet support \u0027"},{"line_number":546,"context_line":"                                  \u0027requeue messages\u0027)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"    def close(self):"},{"line_number":549,"context_line":"        \"\"\"Close/release this connection.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XRk%3D","line":546,"in_reply_to":"AAAATn%2F9urM%3D","updated":"2013-12-12 08:29:33.000000000","message":"Done","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"13e539f17f9f1b64c9743c88ef6d5250be02078c","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        self._raw_message \u003d raw_message"},{"line_number":99,"context_line":"        self._session \u003d session"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def acknowledge(self):"},{"line_number":102,"context_line":"        self._session.acknowledge(self._raw_message)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2BOfY%3D","line":101,"updated":"2014-01-28 22:09:00.000000000","message":"I don\u0027t see this new method being used below. Am I missing it?","commit_id":"4572853240535a165ee6dd286b854b2739297850"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"8750653e0c70c96abad49fcbd37e1409d991f0f6","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        self._raw_message \u003d raw_message"},{"line_number":99,"context_line":"        self._session \u003d session"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def acknowledge(self):"},{"line_number":102,"context_line":"        self._session.acknowledge(self._raw_message)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2BF9o%3D","line":101,"in_reply_to":"AAAAUH%2F%2BOfY%3D","updated":"2014-01-30 07:27:34.000000000","message":"This method is used in amqpdriver.py\n\nhttps://review.openstack.org/#/c/59713/11/oslo/messaging/_drivers/amqpdriver.py Line 66","commit_id":"4572853240535a165ee6dd286b854b2739297850"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"58912dc6949b35d1eb45449f4c9eac8e11ce917c","unresolved":false,"context_lines":[{"line_number":91,"context_line":"class QpidMessage(dict):"},{"line_number":92,"context_line":"    def __init__(self, session, raw_message):"},{"line_number":93,"context_line":"        super(QpidMessage, self).__init__("},{"line_number":94,"context_line":"            rpc_common.deserialize_msg(raw_message.payload))"},{"line_number":95,"context_line":"        self._raw_message \u003d raw_message"},{"line_number":96,"context_line":"        self._session \u003d session"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQ1Y%3D","line":94,"updated":"2014-02-14 12:57:25.000000000","message":"Shouldn\u0027t this be raw_message.content ?","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"7bade7d00ef30e8789be3a35ca90fd4cad7d3c55","unresolved":false,"context_lines":[{"line_number":91,"context_line":"class QpidMessage(dict):"},{"line_number":92,"context_line":"    def __init__(self, session, raw_message):"},{"line_number":93,"context_line":"        super(QpidMessage, self).__init__("},{"line_number":94,"context_line":"            rpc_common.deserialize_msg(raw_message.payload))"},{"line_number":95,"context_line":"        self._raw_message \u003d raw_message"},{"line_number":96,"context_line":"        self._session \u003d session"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQPo%3D","line":94,"in_reply_to":"AAAAUX%2F%2FQ1Y%3D","updated":"2014-02-14 14:51:14.000000000","message":"good shot, this driver really needs to have unit tests...","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"7884af6c2536eeeb9f1955d464ada3478e6318ec","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        message \u003d self.receiver.fetch()"},{"line_number":195,"context_line":"        try:"},{"line_number":196,"context_line":"            self._unpack_json_msg(message)"},{"line_number":197,"context_line":"            self.callback(QpidMessage(message))"},{"line_number":198,"context_line":"        except Exception:"},{"line_number":199,"context_line":"            LOG.exception(_(\"Failed to process message... skipping it.\"))"},{"line_number":200,"context_line":"            self.session.acknowledge(message)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQpI%3D","line":197,"updated":"2014-02-14 13:17:18.000000000","message":"rather than a new dict-like object, how about:\n\n  message \u003d ...\n\n  def acknowledge():\n      self.session.acknowledge(message)\n\n  try:\n      ...\n      self.callback(message, acknowledge)\n  except ...:\n      ...\n      acknowledge()\n\ni.e. just pass an acknowledge callback to the AMQPListener callback","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"7069287971b000784d792e174f6742b247ad7a01","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        message \u003d self.receiver.fetch()"},{"line_number":195,"context_line":"        try:"},{"line_number":196,"context_line":"            self._unpack_json_msg(message)"},{"line_number":197,"context_line":"            self.callback(QpidMessage(message))"},{"line_number":198,"context_line":"        except Exception:"},{"line_number":199,"context_line":"            LOG.exception(_(\"Failed to process message... skipping it.\"))"},{"line_number":200,"context_line":"            self.session.acknowledge(message)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FP5c%3D","line":197,"in_reply_to":"AAAAUX%2F%2FQQI%3D","updated":"2014-02-14 14:56:45.000000000","message":"Yeah, I\u0027m sorry - still getting through the other patches","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"7bade7d00ef30e8789be3a35ca90fd4cad7d3c55","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        message \u003d self.receiver.fetch()"},{"line_number":195,"context_line":"        try:"},{"line_number":196,"context_line":"            self._unpack_json_msg(message)"},{"line_number":197,"context_line":"            self.callback(QpidMessage(message))"},{"line_number":198,"context_line":"        except Exception:"},{"line_number":199,"context_line":"            LOG.exception(_(\"Failed to process message... skipping it.\"))"},{"line_number":200,"context_line":"            self.session.acknowledge(message)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUX%2F%2FQQI%3D","line":197,"in_reply_to":"AAAAUX%2F%2FQpI%3D","updated":"2014-02-14 14:51:14.000000000","message":"We have already discuss about that, the object was your proposal because it will have the requeue method in a later patches, too. (and perhaps one day reject if someone needs it)\n\nIn an other patch, the acknowledgment of message have been moved to the executor to allow the dispatcher to raise a exception to requeue the message instead of ack it.","commit_id":"8f08fd76dcd440b33c052cc6235b3f2d8a3b8b43"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"9100073af85290837f8311a2759265267a95e15f","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        message \u003d self.receiver.fetch()"},{"line_number":195,"context_line":"        try:"},{"line_number":196,"context_line":"            self._unpack_json_msg(message)"},{"line_number":197,"context_line":"            self.callback(QpidMessage(message))"},{"line_number":198,"context_line":"        except Exception:"},{"line_number":199,"context_line":"            LOG.exception(_(\"Failed to process message... skipping it.\"))"},{"line_number":200,"context_line":"            self.session.acknowledge(message)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2BfoE%3D","line":197,"updated":"2014-02-20 21:30:31.000000000","message":"Hey - the QpidMessage constructor is not being called correctly: the session should be the first parameter.","commit_id":"0d102aa361cd92e7a240035980baced6812ada74"}],"oslo/messaging/_drivers/impl_rabbit.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"698290a5cc86c52fd3ac912753be922c51e285b1","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        except Exception:"},{"line_number":156,"context_line":"            LOG.exception(_(\"Failed to process message\""},{"line_number":157,"context_line":"                            \" ... skipping it.\"))"},{"line_number":158,"context_line":"            message.ack()"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def consume(self, *args, **kwargs):"},{"line_number":161,"context_line":"        \"\"\"Actually declare the consumer on the amqp channel.  This will"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9vEc%3D","line":158,"updated":"2013-12-06 15:45:41.000000000","message":"Ah, you\u0027re only acking on exception here now ... I see","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        except Exception:"},{"line_number":156,"context_line":"            LOG.exception(_(\"Failed to process message\""},{"line_number":157,"context_line":"                            \" ... skipping it.\"))"},{"line_number":158,"context_line":"            message.ack()"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def consume(self, *args, **kwargs):"},{"line_number":161,"context_line":"        \"\"\"Actually declare the consumer on the amqp channel.  This will"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XRI%3D","line":158,"in_reply_to":"AAAATn%2F9vEc%3D","updated":"2013-12-12 08:29:33.000000000","message":"Yes, but it should never happen, this is just in case of __call__ of the AMPQListener doesn\u0027t success.","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":593,"context_line":"        self.ensure(None, message.reject)"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"    def requeue(self, message):"},{"line_number":596,"context_line":"        self.ensure(None, message.requeue)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def get_channel(self):"},{"line_number":599,"context_line":"        \"\"\"Convenience call for bin/clear_rabbit_queues.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9uqo%3D","line":596,"updated":"2013-12-06 16:36:12.000000000","message":"keep requeue() and reject() out of this","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":593,"context_line":"        self.ensure(None, message.reject)"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"    def requeue(self, message):"},{"line_number":596,"context_line":"        self.ensure(None, message.requeue)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def get_channel(self):"},{"line_number":599,"context_line":"        \"\"\"Convenience call for bin/clear_rabbit_queues.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XRE%3D","line":596,"in_reply_to":"AAAATn%2F9uqo%3D","updated":"2013-12-12 08:29:33.000000000","message":"Done","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"13e539f17f9f1b64c9743c88ef6d5250be02078c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            rpc_common.deserialize_msg(raw_message.payload))"},{"line_number":125,"context_line":"        self._raw_message \u003d raw_message"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def acknowledge(self):"},{"line_number":128,"context_line":"        self._raw_message.ack()"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2BOfQ%3D","line":127,"updated":"2014-01-28 22:09:00.000000000","message":"The same, where is this called?","commit_id":"4572853240535a165ee6dd286b854b2739297850"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"8750653e0c70c96abad49fcbd37e1409d991f0f6","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            rpc_common.deserialize_msg(raw_message.payload))"},{"line_number":125,"context_line":"        self._raw_message \u003d raw_message"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def acknowledge(self):"},{"line_number":128,"context_line":"        self._raw_message.ack()"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2BF9k%3D","line":127,"in_reply_to":"AAAAUH%2F%2BOfQ%3D","updated":"2014-01-30 07:27:34.000000000","message":"This method is used in amqpdriver.py\n\nhttps://review.openstack.org/#/c/59713/11/oslo/messaging/_drivers/amqpdriver.py Line 66","commit_id":"4572853240535a165ee6dd286b854b2739297850"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"13e539f17f9f1b64c9743c88ef6d5250be02078c","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        except Exception:"},{"line_number":166,"context_line":"            LOG.exception(_(\"Failed to process message\""},{"line_number":167,"context_line":"                            \" ... skipping it.\"))"},{"line_number":168,"context_line":"            message.ack()"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def consume(self, *args, **kwargs):"},{"line_number":171,"context_line":"        \"\"\"Actually declare the consumer on the amqp channel.  This will"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2BOe8%3D","line":168,"updated":"2014-01-28 22:09:00.000000000","message":"Does this change mean the message is now only ack\u0027ed if there is an error?","commit_id":"4572853240535a165ee6dd286b854b2739297850"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"8750653e0c70c96abad49fcbd37e1409d991f0f6","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        except Exception:"},{"line_number":166,"context_line":"            LOG.exception(_(\"Failed to process message\""},{"line_number":167,"context_line":"                            \" ... skipping it.\"))"},{"line_number":168,"context_line":"            message.ack()"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def consume(self, *args, **kwargs):"},{"line_number":171,"context_line":"        \"\"\"Actually declare the consumer on the amqp channel.  This will"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUH%2F%2BF6c%3D","line":168,"in_reply_to":"AAAAUH%2F%2BOe8%3D","updated":"2014-01-30 07:27:34.000000000","message":"Now this is the driver Listener (AMQPListener in this case) that is responsible to ack message. But we ack the message here too if the AMQPListener fail to do it.","commit_id":"4572853240535a165ee6dd286b854b2739297850"}],"oslo/messaging/_drivers/impl_zmq.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"843048ef95886f0c36c1daf23f3f008493de2eb5","unresolved":false,"context_lines":[{"line_number":849,"context_line":""},{"line_number":850,"context_line":"    def requeue(self):"},{"line_number":851,"context_line":"        raise NotImplementedError(\u0027The ZeroMQ driver does not yet support \u0027"},{"line_number":852,"context_line":"                                  \u0027requeuing message\u0027)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"class ZmqListener(base.Listener):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9uqc%3D","line":852,"updated":"2013-12-06 16:36:12.000000000","message":"requeue() separately","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b776e1ad224ab8873c207547b0b5031741934455","unresolved":false,"context_lines":[{"line_number":849,"context_line":""},{"line_number":850,"context_line":"    def requeue(self):"},{"line_number":851,"context_line":"        raise NotImplementedError(\u0027The ZeroMQ driver does not yet support \u0027"},{"line_number":852,"context_line":"                                  \u0027requeuing message\u0027)"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"class ZmqListener(base.Listener):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9XQ8%3D","line":852,"in_reply_to":"AAAATn%2F9uqc%3D","updated":"2013-12-12 08:29:33.000000000","message":"Done","commit_id":"ad3f2aed5ecd06a97b4e439175f21fb331dbf77f"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"273f6c77066d67274119f432cb796649efc8c323","unresolved":false,"context_lines":[{"line_number":843,"context_line":"        with self.condition:"},{"line_number":844,"context_line":"            self.condition.notify()"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    def acknowledge(self):"},{"line_number":847,"context_line":"        pass"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F86nk%3D","line":846,"updated":"2013-12-18 20:40:56.000000000","message":"@staticmethod","commit_id":"30c07e54292895c0d32e6886f6feb11c3e9f328f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"c3c34d37124b842ea28f9bfb81d3a8806fa219db","unresolved":false,"context_lines":[{"line_number":843,"context_line":"        with self.condition:"},{"line_number":844,"context_line":"            self.condition.notify()"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    def acknowledge(self):"},{"line_number":847,"context_line":"        pass"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAATn%2F83Hg%3D","line":846,"in_reply_to":"AAAATn%2F86nk%3D","updated":"2013-12-19 13:36:40.000000000","message":"Done","commit_id":"30c07e54292895c0d32e6886f6feb11c3e9f328f"}]}
