)]}'
{"neutron/agent/common/utils.py":[{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"87cc6859b6bf0f6fdb8df22c2d893829aa9c9a8e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        raise SystemExit(1)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"def log_verbose_error(message, payload):"},{"line_number":60,"context_line":"    LOG.exception(message)"},{"line_number":61,"context_line":"    LOG.debug(\"Payload:\\n%s\","},{"line_number":62,"context_line":"              neutron_utils.DelayedStringRenderer(jsonutils.dumps,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_78fd0e6d","line":59,"updated":"2016-09-08 09:59:37.000000000","message":"nit: may be log_verbose_exception?","commit_id":"311aac286aef0a240284a24ff408440ff287437a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"a790bdde2200b2a1b24cf1687b86d730e921a7f8","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        raise SystemExit(1)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"def log_verbose_error(message, payload):"},{"line_number":60,"context_line":"    LOG.exception(message)"},{"line_number":61,"context_line":"    LOG.debug(\"Payload:\\n%s\","},{"line_number":62,"context_line":"              neutron_utils.DelayedStringRenderer(jsonutils.dumps,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_7d7a53be","line":59,"in_reply_to":"9a89bdaa_78fd0e6d","updated":"2016-09-08 13:08:55.000000000","message":"The name and the location of the function is too generic for the specific need we have here. Consider moving to some l3 utils, and renaming into e.g. log_router_exception_with_payload or smth. If that\u0027s done, you can also change Payload -\u003e Router payload in line 61.","commit_id":"311aac286aef0a240284a24ff408440ff287437a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b9057fea3413e6d427881ae25a33e44323404df0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        raise SystemExit(1)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"def log_verbose_error(message, payload):"},{"line_number":60,"context_line":"    LOG.exception(message)"},{"line_number":61,"context_line":"    LOG.debug(\"Payload:\\n%s\","},{"line_number":62,"context_line":"              neutron_utils.DelayedStringRenderer(jsonutils.dumps,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_557abe24","line":59,"in_reply_to":"9a89bdaa_7d7a53be","updated":"2016-09-08 15:12:27.000000000","message":"ack","commit_id":"311aac286aef0a240284a24ff408440ff287437a"}],"neutron/agent/l3/agent.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"4aec94e36b016d1e23dbc07c0e95ed6c0523d59a","unresolved":false,"context_lines":[{"line_number":509,"context_line":"            except Exception:"},{"line_number":510,"context_line":"                msg \u003d _LE(\"Failed to process compatible router \u0027%s\u0027\")"},{"line_number":511,"context_line":"                LOG.exception(msg, update.id)"},{"line_number":512,"context_line":"                LOG.debug("},{"line_number":513,"context_line":"                    \"Router payload:\\n%s\","},{"line_number":514,"context_line":"                    utils.DelayedStringRenderer(jsonutils.dumps,"},{"line_number":515,"context_line":"                                                router, indent\u003d5))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_cc8b0ec2","line":512,"updated":"2016-09-07 05:41:49.000000000","message":"can i request that you log this on each retrieval and not just exceptions? Many of the times this has been useful to me has been when things have been missing but did not cause exceptions (e.g. floating IPs gone, etc).","commit_id":"d32b9faac8be4483a701212d70bfb844b6db112b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"5df6f1ed71f21aeb9899575d398fd2acbd3b39e5","unresolved":false,"context_lines":[{"line_number":509,"context_line":"            except Exception:"},{"line_number":510,"context_line":"                msg \u003d _LE(\"Failed to process compatible router \u0027%s\u0027\")"},{"line_number":511,"context_line":"                LOG.exception(msg, update.id)"},{"line_number":512,"context_line":"                LOG.debug("},{"line_number":513,"context_line":"                    \"Router payload:\\n%s\","},{"line_number":514,"context_line":"                    utils.DelayedStringRenderer(jsonutils.dumps,"},{"line_number":515,"context_line":"                                                router, indent\u003d5))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_75f0fefe","line":512,"in_reply_to":"9a89bdaa_4206e786","updated":"2016-09-07 08:26:55.000000000","message":"I\u0027ll let you folks discuss ;)","commit_id":"d32b9faac8be4483a701212d70bfb844b6db112b"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9226b2a2a230d96f94a97e9e23dfb03c3fed7b39","unresolved":false,"context_lines":[{"line_number":509,"context_line":"            except Exception:"},{"line_number":510,"context_line":"                msg \u003d _LE(\"Failed to process compatible router \u0027%s\u0027\")"},{"line_number":511,"context_line":"                LOG.exception(msg, update.id)"},{"line_number":512,"context_line":"                LOG.debug("},{"line_number":513,"context_line":"                    \"Router payload:\\n%s\","},{"line_number":514,"context_line":"                    utils.DelayedStringRenderer(jsonutils.dumps,"},{"line_number":515,"context_line":"                                                router, indent\u003d5))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_4206e786","line":512,"in_reply_to":"9a89bdaa_cc8b0ec2","updated":"2016-09-07 06:34:40.000000000","message":"Perhaps we can log selectively the information you think it\u0027s useful in absence of errors?","commit_id":"d32b9faac8be4483a701212d70bfb844b6db112b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"5df6f1ed71f21aeb9899575d398fd2acbd3b39e5","unresolved":false,"context_lines":[{"line_number":511,"context_line":"                LOG.exception(msg, update.id)"},{"line_number":512,"context_line":"                LOG.debug("},{"line_number":513,"context_line":"                    \"Router payload:\\n%s\","},{"line_number":514,"context_line":"                    utils.DelayedStringRenderer(jsonutils.dumps,"},{"line_number":515,"context_line":"                                                router, indent\u003d5))"},{"line_number":516,"context_line":"                self._resync_router(update)"},{"line_number":517,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_353036e8","line":514,"updated":"2016-09-07 08:26:55.000000000","message":"oh DelayedStringRendered, I didn\u0027t know about this!! :)\n+1000","commit_id":"d32b9faac8be4483a701212d70bfb844b6db112b"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"a790bdde2200b2a1b24cf1687b86d730e921a7f8","unresolved":false,"context_lines":[{"line_number":592,"context_line":"                              \u0027just inoperable\u0027),"},{"line_number":593,"context_line":"                          self.sync_routers_chunk_size)"},{"line_number":594,"context_line":"            raise"},{"line_number":595,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":596,"context_line":"            common_utils.log_verbose_error("},{"line_number":597,"context_line":"                _LE(\"Failed synchronizing routers due to RPC error\"),"},{"line_number":598,"context_line":"                routers)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_786b41b7","line":595,"updated":"2016-09-08 13:08:55.000000000","message":"My understanding is that the exception may happen only in line 558. In which case \u0027routers\u0027 is a list of routers fetched BEFORE the exception happened. Not sure how it\u0027s useful to know that bit. I would probably be more interested to see the IDs of routers that resulted in the exception.","commit_id":"311aac286aef0a240284a24ff408440ff287437a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"a81fd17ec66c6a42d59d864fd6d118a3c1dfd780","unresolved":false,"context_lines":[{"line_number":592,"context_line":"                              \u0027just inoperable\u0027),"},{"line_number":593,"context_line":"                          self.sync_routers_chunk_size)"},{"line_number":594,"context_line":"            raise"},{"line_number":595,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":596,"context_line":"            common_utils.log_verbose_error("},{"line_number":597,"context_line":"                _LE(\"Failed synchronizing routers due to RPC error\"),"},{"line_number":598,"context_line":"                routers)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_33799230","line":595,"in_reply_to":"9a89bdaa_38de0fdd","updated":"2016-09-09 15:16:52.000000000","message":"Actually now that I think about it, we might not be not able to log what we want as the router payload might not be available at all","commit_id":"311aac286aef0a240284a24ff408440ff287437a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9b173c9e0e520783a4c3449855f019c2602493b7","unresolved":false,"context_lines":[{"line_number":592,"context_line":"                              \u0027just inoperable\u0027),"},{"line_number":593,"context_line":"                          self.sync_routers_chunk_size)"},{"line_number":594,"context_line":"            raise"},{"line_number":595,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":596,"context_line":"            common_utils.log_verbose_error("},{"line_number":597,"context_line":"                _LE(\"Failed synchronizing routers due to RPC error\"),"},{"line_number":598,"context_line":"                routers)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_38de0fdd","line":595,"in_reply_to":"9a89bdaa_75ac228c","updated":"2016-09-08 15:26:06.000000000","message":"I am only suggesting that this patches logs routers that have not actually triggered the failure, which may be a bit misleading (if I would read the logs, I would expect the payload logged to be of relevance to the error). I suggest instead of logging \u0027routers\u0027 here, we log router_ids[i:i + self.sync_routers_chunk_size] as in line 559.","commit_id":"311aac286aef0a240284a24ff408440ff287437a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b9057fea3413e6d427881ae25a33e44323404df0","unresolved":false,"context_lines":[{"line_number":592,"context_line":"                              \u0027just inoperable\u0027),"},{"line_number":593,"context_line":"                          self.sync_routers_chunk_size)"},{"line_number":594,"context_line":"            raise"},{"line_number":595,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":596,"context_line":"            common_utils.log_verbose_error("},{"line_number":597,"context_line":"                _LE(\"Failed synchronizing routers due to RPC error\"),"},{"line_number":598,"context_line":"                routers)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a89bdaa_75ac228c","line":595,"in_reply_to":"9a89bdaa_786b41b7","updated":"2016-09-08 15:12:27.000000000","message":"what exactly are you suggesting? I am a bit dense this morning.","commit_id":"311aac286aef0a240284a24ff408440ff287437a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c14156cdc359d6ce10d2220567b0024dc2461026","unresolved":false,"context_lines":[{"line_number":604,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":605,"context_line":"            log_verbose_exc("},{"line_number":606,"context_line":"                _LE(\"Failed synchronizing routers due to RPC error\"),"},{"line_number":607,"context_line":"                routers)"},{"line_number":608,"context_line":"            raise n_exc.AbortSyncRouters()"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        self.fullsync \u003d False"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_8e240cc7","line":607,"updated":"2016-09-09 09:32:12.000000000","message":"I still believe it\u0027s wrong routers to log because they have NOT caused the failure. See comments in a previous PS.","commit_id":"984ef16ce2ce21a1613eb997fc1c799e96d12cd6"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"77d84fb1baa2d2e1f992b3d059872663327849a5","unresolved":false,"context_lines":[{"line_number":604,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":605,"context_line":"            log_verbose_exc("},{"line_number":606,"context_line":"                _LE(\"Failed synchronizing routers due to RPC error\"),"},{"line_number":607,"context_line":"                routers)"},{"line_number":608,"context_line":"            raise n_exc.AbortSyncRouters()"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        self.fullsync \u003d False"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a89bdaa_d30ea6e4","line":607,"in_reply_to":"9a89bdaa_8e240cc7","updated":"2016-09-09 15:12:47.000000000","message":"you were logging the world before and now you still complain? Meh...","commit_id":"984ef16ce2ce21a1613eb997fc1c799e96d12cd6"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9232f159b660ca8963c606b29b066e09afd82a09","unresolved":false,"context_lines":[{"line_number":602,"context_line":"            raise"},{"line_number":603,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":604,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers %s \""},{"line_number":605,"context_line":"                              \"due to RPC error\"), router_ids)"},{"line_number":606,"context_line":"            raise n_exc.AbortSyncRouters()"},{"line_number":607,"context_line":""},{"line_number":608,"context_line":"        self.fullsync \u003d False"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a89bdaa_f49a996d","line":605,"updated":"2016-09-10 08:29:21.000000000","message":"router_ids may be not initialized if you get the exception from line 562.","commit_id":"921ec86f844d4d34ec0af32e3c4a2767135b9b4a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d36b690c74b63714b2da9b3767908e3fd067d96a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"SYNC_ROUTERS_MIN_CHUNK_SIZE \u003d 32"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def log_verbose_exc(message, router_payload):"},{"line_number":73,"context_line":"    LOG.exception(message)"},{"line_number":74,"context_line":"    LOG.debug(\"Payload:\\n%s\","},{"line_number":75,"context_line":"              utils.DelayedStringRenderer(jsonutils.dumps,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_7dfe65af","line":72,"updated":"2016-09-11 04:23:02.000000000","message":"maybe being overly pedantic here - but ignore in any case. should we not consider adding this to some generic utility file then it can be used by all. consider changing router_payload \u003d\u003e payload","commit_id":"a7c8a825a46bf99015781d1875b926cf9668c92b"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"7428cf0e7999ba8fb12b9e13e386f747de8ebaee","unresolved":false,"context_lines":[{"line_number":69,"context_line":"SYNC_ROUTERS_MIN_CHUNK_SIZE \u003d 32"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def log_verbose_exc(message, router_payload):"},{"line_number":73,"context_line":"    LOG.exception(message)"},{"line_number":74,"context_line":"    LOG.debug(\"Payload:\\n%s\","},{"line_number":75,"context_line":"              utils.DelayedStringRenderer(jsonutils.dumps,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_c25860fd","line":72,"in_reply_to":"9a89bdaa_7dfe65af","updated":"2016-09-12 07:35:35.000000000","message":"Haha. I actually suggested it to be a one usage function and hence better to keep it isolated.","commit_id":"a7c8a825a46bf99015781d1875b926cf9668c92b"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d36b690c74b63714b2da9b3767908e3fd067d96a","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"def log_verbose_exc(message, router_payload):"},{"line_number":73,"context_line":"    LOG.exception(message)"},{"line_number":74,"context_line":"    LOG.debug(\"Payload:\\n%s\","},{"line_number":75,"context_line":"              utils.DelayedStringRenderer(jsonutils.dumps,"},{"line_number":76,"context_line":"                                          router_payload, indent\u003d5))"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_1d20f948","line":74,"updated":"2016-09-11 04:23:02.000000000","message":"Maybe it would be easier to troubleshoot if the debug was before the exception. And it has some context. \"Payload\" is cryptic","commit_id":"a7c8a825a46bf99015781d1875b926cf9668c92b"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"7428cf0e7999ba8fb12b9e13e386f747de8ebaee","unresolved":false,"context_lines":[{"line_number":604,"context_line":"        except oslo_messaging.MessagingException:"},{"line_number":605,"context_line":"            failed_routers \u003d chunk or router_ids"},{"line_number":606,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers \u0027%s\u0027 \""},{"line_number":607,"context_line":"                              \"due to RPC error\"), failed_routers)"},{"line_number":608,"context_line":"            raise n_exc.AbortSyncRouters()"},{"line_number":609,"context_line":""},{"line_number":610,"context_line":"        self.fullsync \u003d False"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_6216b4f2","line":607,"updated":"2016-09-12 07:35:35.000000000","message":"the minimal size of the chunk is 32 IDs. I wonder whether the following message format would be a bit easier to read:\n\n\u0027Failed synchronizing routers due to RPC error: %s\u0027","commit_id":"a7c8a825a46bf99015781d1875b926cf9668c92b"}]}
