)]}'
{"swift/obj/diskfile.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a501eed9d2cfb5a0570a8fbf2e62158a397d3bfe","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        for ext in (\u0027.data\u0027, \u0027.meta\u0027, \u0027.ts\u0027):"},{"line_number":544,"context_line":"            filename \u003d file_info.get(ext)"},{"line_number":545,"context_line":"            key \u003d \u0027%s_file\u0027 % ext[1:]"},{"line_number":546,"context_line":"            file_info[key] \u003d join(datadir, filename) if filename else None"},{"line_number":547,"context_line":"        return file_info"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    def cleanup_ondisk_files(self, hsh_path, reclaim_age\u003dONE_WEEK, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_b72dedff","line":546,"updated":"2015-09-16 19:54:27.000000000","message":"like here, this is purely additive - we return very similar values for keys at \u0027.data\u0027 and *also* \u0027data_file\u0027.  I think at some point (left unchecked) we\u0027ll write code that sort of arbitrarily uses or mocks one of the other and not really have any good insight to into the somewhat brittle de-normalization here.\n\nMaybe by the time optimistic frag matching GET requests are plumbed all the way from the proxy we\u0027ll have a better idea on the exact structure of this databag and throw some unittests around it.","commit_id":"a95cd988e5b3787779997bc43e29814b3786d4d7"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a501eed9d2cfb5a0570a8fbf2e62158a397d3bfe","unresolved":false,"context_lines":[{"line_number":2317,"context_line":"            # We may find only a .meta, which doesn\u0027t mean the on disk"},{"line_number":2318,"context_line":"            # contract is broken. So we clear it to comply with"},{"line_number":2319,"context_line":"            # superclass assertions."},{"line_number":2320,"context_line":"            accepted_files.pop(\u0027.meta\u0027, None)"},{"line_number":2321,"context_line":""},{"line_number":2322,"context_line":"        data_file, meta_file, ts_file, durable_file \u003d tuple("},{"line_number":2323,"context_line":"            [accepted_files.get(ext)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_576d712f","line":2320,"updated":"2015-09-16 19:54:27.000000000","message":"it\u0027s not super clear to me that this better.  But it\u0027s fine either way.","commit_id":"a95cd988e5b3787779997bc43e29814b3786d4d7"}],"test/unit/obj/test_diskfile.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a501eed9d2cfb5a0570a8fbf2e62158a397d3bfe","unresolved":false,"context_lines":[{"line_number":519,"context_line":"                    self.assertDictContainsSubset("},{"line_number":520,"context_line":"                        expected, actual,"},{"line_number":521,"context_line":"                        \u0027Expected %s from %s but got %s\u0027"},{"line_number":522,"context_line":"                        % (expected, files, actual))"},{"line_number":523,"context_line":"                except AssertionError as e:"},{"line_number":524,"context_line":"                    self.fail(\u0027%s with files %s\u0027 % (str(e), files))"},{"line_number":525,"context_line":"                shuffle(files)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_77ae7582","line":522,"updated":"2015-09-16 19:54:27.000000000","message":"this isn\u0027t a terribly strong assertion on the *actual* structure of the databag.  Maybe that\u0027s fine, the important keys open cares about there - but I think there\u0027s a bunch of extra junk about obsoletes and durables and stuff that we don\u0027t have any focused tests on - it\u0027s all stand back and make assertions of the behavior rather than explicitly describe the implementation - which is good and bad (mostly good).","commit_id":"a95cd988e5b3787779997bc43e29814b3786d4d7"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a501eed9d2cfb5a0570a8fbf2e62158a397d3bfe","unresolved":false,"context_lines":[{"line_number":597,"context_line":"                # check diskfile under the hood"},{"line_number":598,"context_line":"                df \u003d self._get_diskfile(policy, frag_index\u003dfrag_index)"},{"line_number":599,"context_line":"                self.assertEqual(expected, df._get_ondisk_file(files))"},{"line_number":600,"context_line":"                # check diskfile open"},{"line_number":601,"context_line":"                self.assertRaises(DiskFileNotExist, df.open)"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":"    def test_construct_dev_path(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_d7a8a18f","line":600,"updated":"2015-09-16 19:54:27.000000000","message":"bah, I guess this should technically be mocking the os.listdir call :\\\n\nI guess it\u0027s sort of irrelevant - it\u0027s just not as strong as an assertion as the previous two who explicitly pass in files\u003d[]\n\n... oh well","commit_id":"a95cd988e5b3787779997bc43e29814b3786d4d7"}]}
