)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"198f6ecb8018aea906500fe34979383afcdc0746","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b291860e_3614a068","updated":"2024-02-29 15:43:18.000000000","message":"Thank you for review!","commit_id":"17e2cc70ab629f5aa869eb16a4d0e96f1740bbbf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"be1b637ff190ab458b3daf97ee3241f399143221","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c2aa7877_4ecd0cc6","updated":"2024-02-29 21:48:14.000000000","message":"LGTM, this was causing some weird intermittent failures.","commit_id":"5bf2f4e7a073ed1c046f541845680484d93d9036"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"92ee71de69c3db09a0b9c4001d43b25eae953c30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c47520af_b76d2d1d","updated":"2024-02-29 21:55:35.000000000","message":"Let\u0027s roll the dice","commit_id":"5bf2f4e7a073ed1c046f541845680484d93d9036"}],"glance/tests/unit/test_sqlite_migration.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6e40a7105e5d751f72075a2d076ebb9b552fe170","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        self.config(worker_self_reference_url\u003d\u0027http://worker1.example.com\u0027)"},{"line_number":42,"context_line":"        db_path \u003d os.path.join(self.test_dir,"},{"line_number":43,"context_line":"                               tempfile.mkstemp(suffix\u003d\".db\")[1])"},{"line_number":44,"context_line":"        self.db \u003d db_path"},{"line_number":45,"context_line":"        self.db_api \u003d unit_test_utils.FakeDB(initialize\u003dFalse)"},{"line_number":46,"context_line":"        self.migrate \u003d sqlite_migration.Migrate(self.db, self.db_api)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8a6a3117_f0337f2f","line":43,"updated":"2024-02-29 15:39:14.000000000","message":"`mkstemp` will return something starting with `/tmp` generally. I don\u0027t think you need this `os.join()`","commit_id":"17e2cc70ab629f5aa869eb16a4d0e96f1740bbbf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b3ac7d08440a207f04ef644449da89562b01849a","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        self.config(worker_self_reference_url\u003d\u0027http://worker1.example.com\u0027)"},{"line_number":42,"context_line":"        db_path \u003d os.path.join(self.test_dir,"},{"line_number":43,"context_line":"                               tempfile.mkstemp(suffix\u003d\".db\")[1])"},{"line_number":44,"context_line":"        self.db \u003d db_path"},{"line_number":45,"context_line":"        self.db_api \u003d unit_test_utils.FakeDB(initialize\u003dFalse)"},{"line_number":46,"context_line":"        self.migrate \u003d sqlite_migration.Migrate(self.db, self.db_api)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9e398b0a_25888cc4","line":43,"in_reply_to":"1b448d42_63b97409","updated":"2024-02-29 15:44:25.000000000","message":"Done","commit_id":"17e2cc70ab629f5aa869eb16a4d0e96f1740bbbf"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"198f6ecb8018aea906500fe34979383afcdc0746","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        self.config(worker_self_reference_url\u003d\u0027http://worker1.example.com\u0027)"},{"line_number":42,"context_line":"        db_path \u003d os.path.join(self.test_dir,"},{"line_number":43,"context_line":"                               tempfile.mkstemp(suffix\u003d\".db\")[1])"},{"line_number":44,"context_line":"        self.db \u003d db_path"},{"line_number":45,"context_line":"        self.db_api \u003d unit_test_utils.FakeDB(initialize\u003dFalse)"},{"line_number":46,"context_line":"        self.migrate \u003d sqlite_migration.Migrate(self.db, self.db_api)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1b448d42_63b97409","line":43,"in_reply_to":"8a6a3117_f0337f2f","updated":"2024-02-29 15:43:18.000000000","message":"I know I was going to get this comment :)","commit_id":"17e2cc70ab629f5aa869eb16a4d0e96f1740bbbf"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f9104fec938535e8c0ecd0467a94c7f8595e05df","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        self.config(worker_self_reference_url\u003d\u0027http://worker1.example.com\u0027)"},{"line_number":42,"context_line":"        db_path \u003d os.path.join(self.test_dir,"},{"line_number":43,"context_line":"                               tempfile.mkstemp(suffix\u003d\".db\")[1])"},{"line_number":44,"context_line":"        self.db \u003d db_path"},{"line_number":45,"context_line":"        self.db_api \u003d unit_test_utils.FakeDB(initialize\u003dFalse)"},{"line_number":46,"context_line":"        self.migrate \u003d sqlite_migration.Migrate(self.db, self.db_api)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e7c0ed85_7fd4c7fd","line":43,"in_reply_to":"9e398b0a_25888cc4","updated":"2024-02-29 15:50:10.000000000","message":"Um, well, okay, my point as just that you might fail to create the file if the intermediate `tmp` directory wasn\u0027t pre-created ;)","commit_id":"17e2cc70ab629f5aa869eb16a4d0e96f1740bbbf"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"db757adb74e33e4d5f12b2cb57fc85b51811e263","unresolved":true,"context_lines":[{"line_number":39,"context_line":"        super(TestMigrate, self).setUp()"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        self.config(worker_self_reference_url\u003d\u0027http://worker1.example.com\u0027)"},{"line_number":42,"context_line":"        self.db \u003d tempfile.mkstemp(suffix\u003d\".db\")[1]"},{"line_number":43,"context_line":"        self.db_api \u003d unit_test_utils.FakeDB(initialize\u003dFalse)"},{"line_number":44,"context_line":"        self.migrate \u003d sqlite_migration.Migrate(self.db, self.db_api)"},{"line_number":45,"context_line":"        self.addCleanup(self.drop_db)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c94f02da_ce53e6c7","line":42,"updated":"2024-02-29 20:28:09.000000000","message":"Oops, I just realized, `mkstemp` returns a `(fd, name)`. If you don\u0027t close the fd it won\u0027t get GC\u0027d and will leak which could become a problem at some point aside from being wrong.","commit_id":"4c4c2b2913a05ebbe0d83050a105bdeac9f44cc0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"bdebf10dedfa6cbf24197129932ea0f5ccee70c9","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        super(TestMigrate, self).setUp()"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        self.config(worker_self_reference_url\u003d\u0027http://worker1.example.com\u0027)"},{"line_number":42,"context_line":"        self.db \u003d tempfile.mkstemp(suffix\u003d\".db\")[1]"},{"line_number":43,"context_line":"        self.db_api \u003d unit_test_utils.FakeDB(initialize\u003dFalse)"},{"line_number":44,"context_line":"        self.migrate \u003d sqlite_migration.Migrate(self.db, self.db_api)"},{"line_number":45,"context_line":"        self.addCleanup(self.drop_db)"}],"source_content_type":"text/x-python","patch_set":2,"id":"27ede541_407d1e36","line":42,"in_reply_to":"c94f02da_ce53e6c7","updated":"2024-02-29 20:39:31.000000000","message":"Done","commit_id":"4c4c2b2913a05ebbe0d83050a105bdeac9f44cc0"}]}
