)]}'
{"swift/common/internal_client.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f115f144378acfc4488cb3e610567923bb4ff474","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# The default internal client config body is to support upgrades without"},{"line_number":42,"context_line":"# requiring deployment of the new /etc/swift/internal-client.conf"},{"line_number":43,"context_line":"IC_CONF_BODY \u003d \"\"\""},{"line_number":44,"context_line":"[DEFAULT]"},{"line_number":45,"context_line":"# swift_dir \u003d /etc/swift"},{"line_number":46,"context_line":"# user \u003d swift"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_ff4dcd3b","line":43,"updated":"2019-12-09 23:13:08.000000000","message":"I\u0027m torn about whether to do this or not -- I remember it coming up a bit with the sharder... but we decided that new daemon means we can require an explicit internal-client.conf. I think I\u0027d be OK with having container-sync carry this cruft so long as it\u0027s the *only place* that needs it...","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"353ee5dc812612350f32fb5d45263f5c2b233b7a","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# The default internal client config body is to support upgrades without"},{"line_number":42,"context_line":"# requiring deployment of the new /etc/swift/internal-client.conf"},{"line_number":43,"context_line":"IC_CONF_BODY \u003d \"\"\""},{"line_number":44,"context_line":"[DEFAULT]"},{"line_number":45,"context_line":"# swift_dir \u003d /etc/swift"},{"line_number":46,"context_line":"# user \u003d swift"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_f415ef3e","line":43,"in_reply_to":"3fa7e38b_ff4dcd3b","updated":"2019-12-11 15:12:48.000000000","message":"shit you\u0027re right, yeah i\u0027d rather not move it...\n\nI guess I\u0027d rather duplicate some default logging options if in the future some other code creates a simple client w/o passing in a logger.","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"353ee5dc812612350f32fb5d45263f5c2b233b7a","unresolved":false,"context_lines":[{"line_number":893,"context_line":""},{"line_number":894,"context_line":"    def base_request(self, method, container\u003dNone, name\u003dNone, prefix\u003dNone,"},{"line_number":895,"context_line":"                     headers\u003dNone, proxy\u003dNone, contents\u003dNone,"},{"line_number":896,"context_line":"                     full_listing\u003dNone, logger\u003dNone, additional_info\u003dNone,"},{"line_number":897,"context_line":"                     timeout\u003dNone, marker\u003dNone):"},{"line_number":898,"context_line":"        # Common request method"},{"line_number":899,"context_line":"        trans_start \u003d time()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_94203b9c","line":896,"updated":"2019-12-11 15:12:48.000000000","message":"yeah let\u0027s drop the logger kwarg - better to have it up in __init__","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f115f144378acfc4488cb3e610567923bb4ff474","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        except ValueError:"},{"line_number":948,"context_line":"            body_data \u003d None"},{"line_number":949,"context_line":"        trans_stop \u003d time()"},{"line_number":950,"context_line":"        if logger:"},{"line_number":951,"context_line":"            sent_content_length \u003d 0"},{"line_number":952,"context_line":"            for n, v in headers.items():"},{"line_number":953,"context_line":"                nl \u003d n.lower()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_fffb8dbb","line":950,"range":{"start_line":950,"start_character":11,"end_line":950,"end_character":17},"updated":"2019-12-09 23:13:08.000000000","message":"Should this (and line 960 below) use self.logger now?","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f115f144378acfc4488cb3e610567923bb4ff474","unresolved":false,"context_lines":[{"line_number":989,"context_line":"                                              http_status\u003derr.getcode())"},{"line_number":990,"context_line":"                    else:"},{"line_number":991,"context_line":"                        raise"},{"line_number":992,"context_line":"                else:"},{"line_number":993,"context_line":"                    self.logger.debug(\u0027Attempt #%s %s\u0027 % (self.attempts, err))"},{"line_number":994,"context_line":"            sleep(backoff)"},{"line_number":995,"context_line":"            backoff \u003d min(backoff * 2, self.max_backoff)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_bf2bd530","line":992,"range":{"start_line":992,"start_character":16,"end_line":992,"end_character":20},"updated":"2019-12-09 23:13:08.000000000","message":"Alternatively, maybe this should be\n\n elif \u0027logger\u0027 in kwargs:\n     kwargs[\u0027logger\u0027].debug(...)\n\nand we get rid of self.logger.","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"353ee5dc812612350f32fb5d45263f5c2b233b7a","unresolved":false,"context_lines":[{"line_number":989,"context_line":"                                              http_status\u003derr.getcode())"},{"line_number":990,"context_line":"                    else:"},{"line_number":991,"context_line":"                        raise"},{"line_number":992,"context_line":"                else:"},{"line_number":993,"context_line":"                    self.logger.debug(\u0027Attempt #%s %s\u0027 % (self.attempts, err))"},{"line_number":994,"context_line":"            sleep(backoff)"},{"line_number":995,"context_line":"            backoff \u003d min(backoff * 2, self.max_backoff)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_741b3f6e","line":992,"range":{"start_line":992,"start_character":16,"end_line":992,"end_character":20},"in_reply_to":"3fa7e38b_bf2bd530","updated":"2019-12-11 15:12:48.000000000","message":"i\u0027m pretty sure self.logger is the way to go - and we can dump the logger kwarg\n\nif some calling code had a simple client in hand and was about to call one of these methods they could just as easily make myclient.logger be whatever they want.","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"}],"swift/container/sync.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2cfd4b22cdafe10e9a2efb9dd7e2f9a4c199a354","unresolved":false,"context_lines":[{"line_number":540,"context_line":"                    headers \u003d {}"},{"line_number":541,"context_line":"                    body \u003d None"},{"line_number":542,"context_line":"                    exc \u003d err"},{"line_number":543,"context_line":"                timestamp \u003d Timestamp(headers.get(\u0027x-backend-timestamp\u0027, 0))"},{"line_number":544,"context_line":"                if timestamp \u003c ts_meta:"},{"line_number":545,"context_line":"                    if exc:"},{"line_number":546,"context_line":"                        raise exc"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_c42b6830","line":543,"updated":"2019-12-09 21:33:14.000000000","message":"this is the meat of the fix","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"353ee5dc812612350f32fb5d45263f5c2b233b7a","unresolved":false,"context_lines":[{"line_number":540,"context_line":"                    headers \u003d {}"},{"line_number":541,"context_line":"                    body \u003d None"},{"line_number":542,"context_line":"                    exc \u003d err"},{"line_number":543,"context_line":"                timestamp \u003d Timestamp(headers.get(\u0027x-backend-timestamp\u0027, 0))"},{"line_number":544,"context_line":"                if timestamp \u003c ts_meta:"},{"line_number":545,"context_line":"                    if exc:"},{"line_number":546,"context_line":"                        raise exc"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_94559bfb","line":543,"in_reply_to":"3fa7e38b_9fb4d9f2","updated":"2019-12-11 15:12:48.000000000","message":"I\u0027m not.  But I\u0027ll do get.backend.get.timestamp if i\u0027d make you more comfortable!","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f115f144378acfc4488cb3e610567923bb4ff474","unresolved":false,"context_lines":[{"line_number":540,"context_line":"                    headers \u003d {}"},{"line_number":541,"context_line":"                    body \u003d None"},{"line_number":542,"context_line":"                    exc \u003d err"},{"line_number":543,"context_line":"                timestamp \u003d Timestamp(headers.get(\u0027x-backend-timestamp\u0027, 0))"},{"line_number":544,"context_line":"                if timestamp \u003c ts_meta:"},{"line_number":545,"context_line":"                    if exc:"},{"line_number":546,"context_line":"                        raise exc"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_9fb4d9f2","line":543,"in_reply_to":"3fa7e38b_c42b6830","updated":"2019-12-09 23:13:08.000000000","message":"We gonna worry about pre-2.0 Swift? https://github.com/openstack/swift/commit/c1dc2fa","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2cfd4b22cdafe10e9a2efb9dd7e2f9a4c199a354","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                        \u0027%(account)r %(container)r %(object)r\u0027 % {"},{"line_number":550,"context_line":"                            \u0027account\u0027: info[\u0027account\u0027],"},{"line_number":551,"context_line":"                            \u0027container\u0027: info[\u0027container\u0027],"},{"line_number":552,"context_line":"                            \u0027object\u0027: row[\u0027name\u0027]})"},{"line_number":553,"context_line":"                for key in (\u0027date\u0027, \u0027last-modified\u0027):"},{"line_number":554,"context_line":"                    if key in headers:"},{"line_number":555,"context_line":"                        del headers[key]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_a4266c66","line":552,"updated":"2019-12-09 21:33:14.000000000","message":"exception string formatting isn\u0027t implicitly interpolated like log messages, also dropped the i18n","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f115f144378acfc4488cb3e610567923bb4ff474","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                        \u0027%(account)r %(container)r %(object)r\u0027 % {"},{"line_number":550,"context_line":"                            \u0027account\u0027: info[\u0027account\u0027],"},{"line_number":551,"context_line":"                            \u0027container\u0027: info[\u0027container\u0027],"},{"line_number":552,"context_line":"                            \u0027object\u0027: row[\u0027name\u0027]})"},{"line_number":553,"context_line":"                for key in (\u0027date\u0027, \u0027last-modified\u0027):"},{"line_number":554,"context_line":"                    if key in headers:"},{"line_number":555,"context_line":"                        del headers[key]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_5fcae16d","line":552,"in_reply_to":"3fa7e38b_a4266c66","updated":"2019-12-09 23:13:08.000000000","message":"Doh!","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"}],"test/unit/container/test_sync.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2cfd4b22cdafe10e9a2efb9dd7e2f9a4c199a354","unresolved":false,"context_lines":[{"line_number":943,"context_line":"                self.assertEqual(sync_to, \u0027http://sync/to/path\u0027)"},{"line_number":944,"context_line":"                self.assertEqual(name, \u0027object\u0027)"},{"line_number":945,"context_line":"                expected_headers \u003d {"},{"line_number":946,"context_line":"                    \u0027x-timestamp\u0027: timestamp.normal,"},{"line_number":947,"context_line":"                    \u0027x-backend-timestamp\u0027: timestamp.internal,"},{"line_number":948,"context_line":"                    \u0027etag\u0027: \u0027etagvalue\u0027,"},{"line_number":949,"context_line":"                    \u0027other-header\u0027: \u0027other header value\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_c4d0482e","line":946,"updated":"2019-12-09 21:33:14.000000000","message":"i think this lie is why we didn\u0027t catch the bug earlier","commit_id":"2aa3e286bb707bf399636eb9f619c52d129ca1c6"}]}
