)]}'
{"oslo_messaging/notify/dispatcher.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b2ff412b4cca255f1278429bdd946e0730031abd","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            return callback(messages)"},{"line_number":163,"context_line":"        except Exception:"},{"line_number":164,"context_line":"            LOG.exception(\"Callback raised an exception.\")"},{"line_number":165,"context_line":"            return NotificationResult.REQUEUE"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_78e12f9a","line":165,"updated":"2016-03-29 12:12:00.000000000","message":"This change the behavior before the exception was not caught and on first exception the all pending messages was dropped. Now we always requeues.\n\nI like this change but it doesn\u0027t only refactor but also fixes a untracked bug.","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"1640492283360d59b14e555d893aa78fb037dd5e","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            return callback(messages)"},{"line_number":163,"context_line":"        except Exception:"},{"line_number":164,"context_line":"            LOG.exception(\"Callback raised an exception.\")"},{"line_number":165,"context_line":"            return NotificationResult.REQUEUE"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_03425f3e","line":165,"in_reply_to":"da0c15f0_78e12f9a","updated":"2016-03-29 15:11:43.000000000","message":"Agree. What do you suggest? Revert? Add to commit message info about this change?","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"}],"oslo_messaging/notify/listener.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f5b243516e31ac22d22c5cbcd97465af010ab2a0","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        def new_poll(*args, **kwargs):"},{"line_number":136,"context_line":"            res \u003d orig_poll(*args, **kwargs)"},{"line_number":137,"context_line":"            return res[0] if res else None"},{"line_number":138,"context_line":"        listener.poll \u003d new_poll"},{"line_number":139,"context_line":"        return listener"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_0adc4011","line":137,"updated":"2016-03-29 12:12:14.000000000","message":"Why res[0] ? where does that come from ?","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ef1a6fac64b1f6a4fd18f26aa79ac1d2d70ddb38","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        def new_poll(*args, **kwargs):"},{"line_number":136,"context_line":"            res \u003d orig_poll(*args, **kwargs)"},{"line_number":137,"context_line":"            return res[0] if res else None"},{"line_number":138,"context_line":"        listener.poll \u003d new_poll"},{"line_number":139,"context_line":"        return listener"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_2587b562","line":137,"in_reply_to":"ba0121b8_0adc4011","updated":"2016-03-29 12:13:33.000000000","message":"Forget I got it.","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b2ff412b4cca255f1278429bdd946e0730031abd","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        def new_poll(*args, **kwargs):"},{"line_number":136,"context_line":"            res \u003d orig_poll(*args, **kwargs)"},{"line_number":137,"context_line":"            return res[0] if res else None"},{"line_number":138,"context_line":"        listener.poll \u003d new_poll"},{"line_number":139,"context_line":"        return listener"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def _process_incoming(self, incoming):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_18e91381","line":138,"updated":"2016-03-29 12:12:00.000000000","message":"That doesn\u0027t looks clean. Overriding method make thing unclear to understand.","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"1640492283360d59b14e555d893aa78fb037dd5e","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        def new_poll(*args, **kwargs):"},{"line_number":136,"context_line":"            res \u003d orig_poll(*args, **kwargs)"},{"line_number":137,"context_line":"            return res[0] if res else None"},{"line_number":138,"context_line":"        listener.poll \u003d new_poll"},{"line_number":139,"context_line":"        return listener"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def _process_incoming(self, incoming):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_63799b93","line":138,"in_reply_to":"da0c15f0_18e91381","updated":"2016-03-29 15:11:43.000000000","message":"Done","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f5b243516e31ac22d22c5cbcd97465af010ab2a0","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        listener \u003d self.transport._listen_for_notifications("},{"line_number":172,"context_line":"            self._targets_priorities, self._pool)"},{"line_number":173,"context_line":"        listener.poll \u003d partial(listener.poll, prefetch_size\u003dself._batch_size,"},{"line_number":174,"context_line":"                                timeout\u003dself._batch_timeout)"},{"line_number":175,"context_line":"        return listener"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def _process_incoming(self, incoming):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_aa239404","line":174,"updated":"2016-03-29 12:12:14.000000000","message":"Overriding method is really awkward.","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"1640492283360d59b14e555d893aa78fb037dd5e","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        listener \u003d self.transport._listen_for_notifications("},{"line_number":172,"context_line":"            self._targets_priorities, self._pool)"},{"line_number":173,"context_line":"        listener.poll \u003d partial(listener.poll, prefetch_size\u003dself._batch_size,"},{"line_number":174,"context_line":"                                timeout\u003dself._batch_timeout)"},{"line_number":175,"context_line":"        return listener"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def _process_incoming(self, incoming):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_0369bfbe","line":174,"in_reply_to":"ba0121b8_aa239404","updated":"2016-03-29 15:11:43.000000000","message":"Done","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"}],"oslo_messaging/server.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b2ff412b4cca255f1278429bdd946e0730031abd","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    return _ordered"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class MessageHandlingServer(service.ServiceBase, _OrderedTaskRunner):"},{"line_number":299,"context_line":"    \"\"\"Server for handling messages."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    Connect a transport to a dispatcher that knows how to process the"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_0f78d2f1","line":298,"updated":"2016-03-29 12:12:00.000000000","message":"That becomes an abstract class, if we go that way we should use abc to ensure people implements missing methods.","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"1640492283360d59b14e555d893aa78fb037dd5e","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    return _ordered"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class MessageHandlingServer(service.ServiceBase, _OrderedTaskRunner):"},{"line_number":299,"context_line":"    \"\"\"Server for handling messages."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    Connect a transport to a dispatcher that knows how to process the"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_23b7a33a","line":298,"in_reply_to":"ba0121b8_0f78d2f1","updated":"2016-03-29 15:11:43.000000000","message":"Done","commit_id":"19e164a832e324c69a3d6df0de9ca23367c4acd5"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ea58c41e943d95cd5ee005854488154ae45f4135","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                                                          timeout)"},{"line_number":328,"context_line":"        self._batch_size \u003d batch_size"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    def poll(self, timeout\u003dNone):"},{"line_number":331,"context_line":"        return self._driver_listener.poll(prefetch_size\u003dself._batch_size,"},{"line_number":332,"context_line":"                                          timeout\u003dself._timeout)"},{"line_number":333,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba0121b8_68279612","line":330,"updated":"2016-03-30 07:44:09.000000000","message":"The signature looks incorrect.","commit_id":"f66cd54c2165f3512d5abc62416b82ddad38c98d"},{"author":{"_account_id":20864,"name":"Gevorg Davoian","email":"gdavoian@gmail.com","username":"gdavoian"},"change_message_id":"23db44c5cceca3729083dec5a97e887cd318a8eb","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                                                          timeout)"},{"line_number":328,"context_line":"        self._batch_size \u003d batch_size"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    def poll(self, timeout\u003dNone):"},{"line_number":331,"context_line":"        return self._driver_listener.poll(prefetch_size\u003dself._batch_size,"},{"line_number":332,"context_line":"                                          timeout\u003dself._timeout)"},{"line_number":333,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_8b3bfd9b","line":330,"range":{"start_line":330,"start_character":19,"end_line":330,"end_character":26},"updated":"2016-03-30 10:05:46.000000000","message":"The timeout argument seems to be unused here","commit_id":"a8f5aeb0e9665aa7df574cb696ab71c0cc623235"}]}
