)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"04e88e9be5e84d9d564f528d585b31d34a395935","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     mjzhou \u003czhouyunyang-123@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-07-21 22:16:55 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Related-Bug: #742197"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ice6e277e4faa6b7e33155b6db884220767b9bc81"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"8b8de2be_4d0f7455","line":7,"updated":"2021-07-01 22:57:51.000000000","message":"I don\u0027t think this is the bug you want...","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"}],"swift/obj/replicator.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":502,"context_line":"            suffixes \u003d tpool.execute(tpool_get_suffixes, job[\u0027path\u0027])"},{"line_number":503,"context_line":"            synced_remote_regions \u003d {}"},{"line_number":504,"context_line":"            delete_objs \u003d None"},{"line_number":505,"context_line":"            hashed, local_hash \u003d tpool_reraise("},{"line_number":506,"context_line":"                get_hashes, job[\u0027path\u0027],"},{"line_number":507,"context_line":"                do_listdir\u003d(self.replication_count % 10) \u003d\u003d 0,"},{"line_number":508,"context_line":"                reclaim_age\u003dself.reclaim_age)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_f2116fb1","line":505,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: F821 undefined name \u0027tpool_reraise\u0027","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":503,"context_line":"            synced_remote_regions \u003d {}"},{"line_number":504,"context_line":"            delete_objs \u003d None"},{"line_number":505,"context_line":"            hashed, local_hash \u003d tpool_reraise("},{"line_number":506,"context_line":"                get_hashes, job[\u0027path\u0027],"},{"line_number":507,"context_line":"                do_listdir\u003d(self.replication_count % 10) \u003d\u003d 0,"},{"line_number":508,"context_line":"                reclaim_age\u003dself.reclaim_age)"},{"line_number":509,"context_line":"            remote_hash\u003d{}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_d216eba7","line":506,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: F821 undefined name \u0027get_hashes\u0027","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"04e88e9be5e84d9d564f528d585b31d34a395935","unresolved":true,"context_lines":[{"line_number":506,"context_line":"                get_hashes, job[\u0027path\u0027],"},{"line_number":507,"context_line":"                do_listdir\u003d(self.replication_count % 10) \u003d\u003d 0,"},{"line_number":508,"context_line":"                reclaim_age\u003dself.reclaim_age)"},{"line_number":509,"context_line":"            remote_hash\u003d{}"},{"line_number":510,"context_line":"            if suffixes:"},{"line_number":511,"context_line":"                for node in job[\u0027nodes\u0027]:"},{"line_number":512,"context_line":"                    stats.rsync +\u003d 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_2d49d48a","line":509,"updated":"2021-07-01 22:57:51.000000000","message":"This is just going to get overwritten down at line 541, won\u0027t it?","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":506,"context_line":"                get_hashes, job[\u0027path\u0027],"},{"line_number":507,"context_line":"                do_listdir\u003d(self.replication_count % 10) \u003d\u003d 0,"},{"line_number":508,"context_line":"                reclaim_age\u003dself.reclaim_age)"},{"line_number":509,"context_line":"            remote_hash\u003d{}"},{"line_number":510,"context_line":"            if suffixes:"},{"line_number":511,"context_line":"                for node in job[\u0027nodes\u0027]:"},{"line_number":512,"context_line":"                    stats.rsync +\u003d 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_320c8793","line":509,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: E225 missing whitespace around operator","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":526,"context_line":"                            self.logger.error("},{"line_number":527,"context_line":"                                _(\u0027%(replication_ip)s/%(device)s \u0027"},{"line_number":528,"context_line":"                                  \u0027responded as unmounted\u0027), node)"},{"line_number":529,"context_line":"                            attempts_left +\u003d 1"},{"line_number":530,"context_line":"                            failure_devs_info.add((node[\u0027replication_ip\u0027],"},{"line_number":531,"context_line":"                                                   node[\u0027device\u0027]))"},{"line_number":532,"context_line":"                            continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_121183ad","line":529,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: F821 undefined name \u0027attempts_left\u0027","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":526,"context_line":"                            self.logger.error("},{"line_number":527,"context_line":"                                _(\u0027%(replication_ip)s/%(device)s \u0027"},{"line_number":528,"context_line":"                                  \u0027responded as unmounted\u0027), node)"},{"line_number":529,"context_line":"                            attempts_left +\u003d 1"},{"line_number":530,"context_line":"                            failure_devs_info.add((node[\u0027replication_ip\u0027],"},{"line_number":531,"context_line":"                                                   node[\u0027device\u0027]))"},{"line_number":532,"context_line":"                            continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_72255f0a","line":529,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: F841 local variable \u0027attempts_left\u0027 is assigned to but never used","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":542,"context_line":"                        del resp"},{"line_number":543,"context_line":"                    if remote_hash:"},{"line_number":544,"context_line":"                        node_suffixes \u003d [suffix for suffix in local_hash if"},{"line_number":545,"context_line":"                                local_hash[suffix] !\u003d"},{"line_number":546,"context_line":"                                remote_hash.get(suffix, -1)]"},{"line_number":547,"context_line":"                        if not node_suffixes:"},{"line_number":548,"context_line":"                            continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_5222db02","line":545,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":543,"context_line":"                    if remote_hash:"},{"line_number":544,"context_line":"                        node_suffixes \u003d [suffix for suffix in local_hash if"},{"line_number":545,"context_line":"                                local_hash[suffix] !\u003d"},{"line_number":546,"context_line":"                                remote_hash.get(suffix, -1)]"},{"line_number":547,"context_line":"                        if not node_suffixes:"},{"line_number":548,"context_line":"                            continue"},{"line_number":549,"context_line":"                    else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_b21ff7b5","line":546,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"04e88e9be5e84d9d564f528d585b31d34a395935","unresolved":true,"context_lines":[{"line_number":547,"context_line":"                        if not node_suffixes:"},{"line_number":548,"context_line":"                            continue"},{"line_number":549,"context_line":"                    else:"},{"line_number":550,"context_line":"                        node_suffixes\u003dsuffixes"},{"line_number":551,"context_line":"                    success, candidates \u003d self.sync("},{"line_number":552,"context_line":"                        node, job, node_suffixes, **kwargs)"},{"line_number":553,"context_line":"                    if success:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_30a807da","line":550,"updated":"2021-07-01 22:57:51.000000000","message":"So this is the main change -- if the remote doesn\u0027t have any data yet, we sync all of `suffixes`. But the\n\n remote_hash.get(suffix, -1)\n\nshould already ensure that we sync all the suffixes in `local_hash` -- have you seen these differ? I would\u0027ve thought they\u0027d be the same...","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":547,"context_line":"                        if not node_suffixes:"},{"line_number":548,"context_line":"                            continue"},{"line_number":549,"context_line":"                    else:"},{"line_number":550,"context_line":"                        node_suffixes\u003dsuffixes"},{"line_number":551,"context_line":"                    success, candidates \u003d self.sync("},{"line_number":552,"context_line":"                        node, job, node_suffixes, **kwargs)"},{"line_number":553,"context_line":"                    if success:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_921c73c2","line":550,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: E225 missing whitespace around operator","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"1211667ebb2160830215ad705018459b1ae62d20","unresolved":false,"context_lines":[{"line_number":573,"context_line":""},{"line_number":574,"context_line":"            if self.handoff_delete:"},{"line_number":575,"context_line":"                # delete handoff if we have had handoff_delete successes"},{"line_number":576,"context_line":"                delete_handoff \u003d len([resp for resp in responses if resp]) \u003e\u003d \\"},{"line_number":577,"context_line":"                    self.handoff_delete"},{"line_number":578,"context_line":"            else:"},{"line_number":579,"context_line":"                # delete handoff if all syncs were successful"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_f2768f0c","line":576,"updated":"2020-07-21 21:36:43.000000000","message":"pep8: F812 list comprehension redefines \u0027resp\u0027 from line 521","commit_id":"e1c71fd61b46e4ba12dee0799366792c00abd21d"}]}
