)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"cdec6f1b584ffdd20a1e5cb88f761555f22c22d1","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch makes swift to allow missing accounts in updating when"},{"line_number":14,"context_line":"we PUT or DELETE container, and swift will leave updating accounts"},{"line_number":15,"context_line":"to container-updater. This behavior is the same as container PUT and"},{"line_number":16,"context_line":"DELETE, in which swift leaves updating containers to object-updater"},{"line_number":17,"context_line":"when it failed to update container because of missing containers."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa98f980_e1bc5009","line":15,"updated":"2014-09-07 03:38:53.000000000","message":"do you mean \"same as object PUT and...\"","commit_id":"fbd573562f7e60f0d28076c4520edf823c03d346"},{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"cdec6f1b584ffdd20a1e5cb88f761555f22c22d1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"we PUT or DELETE container, and swift will leave updating accounts"},{"line_number":15,"context_line":"to container-updater. This behavior is the same as container PUT and"},{"line_number":16,"context_line":"DELETE, in which swift leaves updating containers to object-updater"},{"line_number":17,"context_line":"when it failed to update container because of missing containers."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I3fa100a5c06b72df0186e67391706070981b3350"},{"line_number":20,"context_line":"Closes-Bug: #1293945"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa98f980_a1f7a8d3","line":17,"updated":"2014-09-07 03:38:53.000000000","message":"I don\u0027t totally understand this, maybe I\u0027m missing something simple but in object PUT if the container server can\u0027t be reached it will count on the object-updater.  In the account server PUT code it looks like 404 is because the account is deleted, why is that something we shouldn\u0027t error on and expect it to work later on?","commit_id":"fbd573562f7e60f0d28076c4520edf823c03d346"}],"swift/container/server.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"1508a74b6ba9a6225d17a8357b0da6b2d6841ef6","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                     \u0027device\u0027: account_device})"},{"line_number":182,"context_line":"        if updates and account_404s \u003d\u003d len(updates):"},{"line_number":183,"context_line":"            self.logger.error(_("},{"line_number":184,"context_line":"                \u0027ERROR all account are missend\u0027))"},{"line_number":185,"context_line":"        return None"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @public"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_5d554ac0","line":184,"updated":"2014-06-12 07:25:08.000000000","message":"Should this say something like: \n\nERROR all accounts are missing\nOR\nERROR no accounts were found","commit_id":"66e46526c5e2e32be8d30b45237194c8d8c5decd"},{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"cdec6f1b584ffdd20a1e5cb88f761555f22c22d1","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        :param req: swob.Request object"},{"line_number":110,"context_line":"        :param account: account name"},{"line_number":111,"context_line":"        :param container: container name"},{"line_number":112,"context_line":"        :param broker: container DB broker object"},{"line_number":113,"context_line":"        :returns: if all the account requests return a 404 error code,"},{"line_number":114,"context_line":"                  HTTPNotFound response object,"},{"line_number":115,"context_line":"                  if the account cannot be updated due to a malformed header,"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_e16a9080","line":112,"updated":"2014-09-07 03:38:53.000000000","message":"need to update comment","commit_id":"fbd573562f7e60f0d28076c4520edf823c03d346"},{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"300068600a74e60017a9b0bb65a9278045d837be","unresolved":false,"context_lines":[{"line_number":232,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":233,"context_line":"                     \u0027device\u0027: account_device})"},{"line_number":234,"context_line":"        if updates and account_404s \u003d\u003d len(updates):"},{"line_number":235,"context_line":"            return self.logger.error(_(\u0027ERROR all accounts are missing\u0027))"},{"line_number":236,"context_line":"        return None"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    @public"}],"source_content_type":"text/x-python","patch_set":5,"id":"3acd31a7_e4b1aa48","line":235,"updated":"2015-05-04 19:58:39.000000000","message":"if you could just please remove the return here so is easy to see that we\u0027re logging an error here and dropping through rather than assuming that the log adapter is always going to return nothing","commit_id":"1744668e29b553930568c9ec3f36a15da1e367e0"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d1a23e66770653a121f346f0d6966df075d0ca60","unresolved":false,"context_lines":[{"line_number":232,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":233,"context_line":"                     \u0027device\u0027: account_device})"},{"line_number":234,"context_line":"        if updates and account_404s \u003d\u003d len(updates):"},{"line_number":235,"context_line":"            return self.logger.error(_(\u0027ERROR all accounts are missing\u0027))"},{"line_number":236,"context_line":"        return None"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    @public"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a016987_c6035e0c","line":235,"in_reply_to":"3acd31a7_e4b1aa48","updated":"2015-05-17 11:38:54.000000000","message":"Done","commit_id":"1744668e29b553930568c9ec3f36a15da1e367e0"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"6fdd236f237859c5e5811a69d075c4648041d2fd","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                    \u0027%(ip)s:%(port)s/%(device)s (will retry later)\u0027),"},{"line_number":238,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":239,"context_line":"                     \u0027device\u0027: account_device})"},{"line_number":240,"context_line":"        if updates and account_404s \u003d\u003d len(updates):"},{"line_number":241,"context_line":"            return HTTPNotFound(req\u003dreq)"},{"line_number":242,"context_line":"        else:"},{"line_number":243,"context_line":"            return None"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    @public"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_277ed2ae","side":"PARENT","line":242,"range":{"start_line":240,"start_character":7,"end_line":242,"end_character":13},"updated":"2016-01-13 14:07:23.000000000","message":"We discussed about here in irc. your previous logic outputted error message here but this 404 is a warning level so I removed.","commit_id":"a66e5733dd8849118474c2f35921f5e51fbdb483"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d11b4ee5297217ecbfc59f3dc72c63dc26483fcb","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                    \u0027%(ip)s:%(port)s/%(device)s (will retry later)\u0027),"},{"line_number":238,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":239,"context_line":"                     \u0027device\u0027: account_device})"},{"line_number":240,"context_line":"        if updates and account_404s \u003d\u003d len(updates):"},{"line_number":241,"context_line":"            return HTTPNotFound(req\u003dreq)"},{"line_number":242,"context_line":"        else:"},{"line_number":243,"context_line":"            return None"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    @public"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_c5fa2d43","side":"PARENT","line":242,"range":{"start_line":240,"start_character":7,"end_line":242,"end_character":13},"in_reply_to":"da6ed579_05d4c5e9","updated":"2016-01-14 01:05:44.000000000","message":"Done","commit_id":"a66e5733dd8849118474c2f35921f5e51fbdb483"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"074c3c76b0fe0cefe1875d124a53fb1a1d45c129","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                    \u0027%(ip)s:%(port)s/%(device)s (will retry later)\u0027),"},{"line_number":238,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":239,"context_line":"                     \u0027device\u0027: account_device})"},{"line_number":240,"context_line":"        if updates and account_404s \u003d\u003d len(updates):"},{"line_number":241,"context_line":"            return HTTPNotFound(req\u003dreq)"},{"line_number":242,"context_line":"        else:"},{"line_number":243,"context_line":"            return None"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    @public"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_05d4c5e9","side":"PARENT","line":242,"range":{"start_line":240,"start_character":7,"end_line":242,"end_character":13},"in_reply_to":"da6ed579_277ed2ae","updated":"2016-01-14 01:02:21.000000000","message":"We don\u0027t need some special messages, but we will still need some error message, because here container-server fails to update account. (And you patch does that)","commit_id":"a66e5733dd8849118474c2f35921f5e51fbdb483"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"6fdd236f237859c5e5811a69d075c4648041d2fd","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        else:"},{"line_number":193,"context_line":"            updates \u003d []"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        account_404s \u003d 0"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        for account_host, account_device in updates:"},{"line_number":198,"context_line":"            account_ip, account_port \u003d account_host.rsplit(\u0027:\u0027, 1)"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_e77d1ae8","line":195,"range":{"start_line":195,"start_character":8,"end_line":195,"end_character":24},"updated":"2016-01-13 14:07:23.000000000","message":"this is not necessary. (same as below)","commit_id":"335830224345caa9c88e9e2a4ceb62025f818d38"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d11b4ee5297217ecbfc59f3dc72c63dc26483fcb","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        else:"},{"line_number":193,"context_line":"            updates \u003d []"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"        account_404s \u003d 0"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        for account_host, account_device in updates:"},{"line_number":198,"context_line":"            account_ip, account_port \u003d account_host.rsplit(\u0027:\u0027, 1)"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_65eb4179","line":195,"range":{"start_line":195,"start_character":8,"end_line":195,"end_character":24},"in_reply_to":"da6ed579_e77d1ae8","updated":"2016-01-14 01:05:44.000000000","message":"Done","commit_id":"335830224345caa9c88e9e2a4ceb62025f818d38"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"6fdd236f237859c5e5811a69d075c4648041d2fd","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                with Timeout(self.node_timeout):"},{"line_number":219,"context_line":"                    account_response \u003d conn.getresponse()"},{"line_number":220,"context_line":"                    account_response.read()"},{"line_number":221,"context_line":"                    if account_response.status \u003d\u003d HTTP_NOT_FOUND:"},{"line_number":222,"context_line":"                        account_404s +\u003d 1"},{"line_number":223,"context_line":"                    elif not is_success(account_response.status):"},{"line_number":224,"context_line":"                        self.logger.error(_("},{"line_number":225,"context_line":"                            \u0027ERROR Account update failed \u0027"},{"line_number":226,"context_line":"                            \u0027with %(ip)s:%(port)s/%(device)s (will retry \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_87ff7e66","line":223,"range":{"start_line":221,"start_character":19,"end_line":223,"end_character":65},"updated":"2016-01-13 14:07:23.000000000","message":"I didn\u0027t modify here but it is not necessary to care about 404 so these lines will be replaced to:\n\nif not is_success(account_response.status):","commit_id":"335830224345caa9c88e9e2a4ceb62025f818d38"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d11b4ee5297217ecbfc59f3dc72c63dc26483fcb","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                with Timeout(self.node_timeout):"},{"line_number":219,"context_line":"                    account_response \u003d conn.getresponse()"},{"line_number":220,"context_line":"                    account_response.read()"},{"line_number":221,"context_line":"                    if account_response.status \u003d\u003d HTTP_NOT_FOUND:"},{"line_number":222,"context_line":"                        account_404s +\u003d 1"},{"line_number":223,"context_line":"                    elif not is_success(account_response.status):"},{"line_number":224,"context_line":"                        self.logger.error(_("},{"line_number":225,"context_line":"                            \u0027ERROR Account update failed \u0027"},{"line_number":226,"context_line":"                            \u0027with %(ip)s:%(port)s/%(device)s (will retry \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_0505a544","line":223,"range":{"start_line":221,"start_character":19,"end_line":223,"end_character":65},"in_reply_to":"da6ed579_87ff7e66","updated":"2016-01-14 01:05:44.000000000","message":"Done","commit_id":"335830224345caa9c88e9e2a4ceb62025f818d38"},{"author":{"_account_id":12193,"name":"Hisashi Osanai","email":"osanai.hisashi@jp.fujitsu.com","username":"ho"},"change_message_id":"6fdd236f237859c5e5811a69d075c4648041d2fd","unresolved":false,"context_lines":[{"line_number":230,"context_line":"                             \u0027status\u0027: account_response.status,"},{"line_number":231,"context_line":"                             \u0027reason\u0027: account_response.reason})"},{"line_number":232,"context_line":"            except (Exception, Timeout):"},{"line_number":233,"context_line":"                self.logger.exception(_("},{"line_number":234,"context_line":"                    \u0027ERROR account update failed with \u0027"},{"line_number":235,"context_line":"                    \u0027%(ip)s:%(port)s/%(device)s (will retry later)\u0027),"},{"line_number":236,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":237,"context_line":"                     \u0027device\u0027: account_device})"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_873c5ee3","line":234,"range":{"start_line":233,"start_character":15,"end_line":234,"end_character":55},"updated":"2016-01-13 14:07:23.000000000","message":"is it better to change from error to warning?","commit_id":"335830224345caa9c88e9e2a4ceb62025f818d38"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"d11b4ee5297217ecbfc59f3dc72c63dc26483fcb","unresolved":false,"context_lines":[{"line_number":230,"context_line":"                             \u0027status\u0027: account_response.status,"},{"line_number":231,"context_line":"                             \u0027reason\u0027: account_response.reason})"},{"line_number":232,"context_line":"            except (Exception, Timeout):"},{"line_number":233,"context_line":"                self.logger.exception(_("},{"line_number":234,"context_line":"                    \u0027ERROR account update failed with \u0027"},{"line_number":235,"context_line":"                    \u0027%(ip)s:%(port)s/%(device)s (will retry later)\u0027),"},{"line_number":236,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":237,"context_line":"                     \u0027device\u0027: account_device})"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_2502293e","line":234,"range":{"start_line":233,"start_character":15,"end_line":234,"end_character":55},"in_reply_to":"da6ed579_45971d3a","updated":"2016-01-14 01:05:44.000000000","message":"Done","commit_id":"335830224345caa9c88e9e2a4ceb62025f818d38"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"074c3c76b0fe0cefe1875d124a53fb1a1d45c129","unresolved":false,"context_lines":[{"line_number":230,"context_line":"                             \u0027status\u0027: account_response.status,"},{"line_number":231,"context_line":"                             \u0027reason\u0027: account_response.reason})"},{"line_number":232,"context_line":"            except (Exception, Timeout):"},{"line_number":233,"context_line":"                self.logger.exception(_("},{"line_number":234,"context_line":"                    \u0027ERROR account update failed with \u0027"},{"line_number":235,"context_line":"                    \u0027%(ip)s:%(port)s/%(device)s (will retry later)\u0027),"},{"line_number":236,"context_line":"                    {\u0027ip\u0027: account_ip, \u0027port\u0027: account_port,"},{"line_number":237,"context_line":"                     \u0027device\u0027: account_device})"}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_45971d3a","line":234,"range":{"start_line":233,"start_character":15,"end_line":234,"end_character":55},"in_reply_to":"da6ed579_873c5ee3","updated":"2016-01-14 01:02:21.000000000","message":"As you showed in your comment, container-server should generate error log here when it fails to update account, as object-server does.","commit_id":"335830224345caa9c88e9e2a4ceb62025f818d38"}]}
