)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e18f95f1bdaae5563e8393195e59aec7fa2cdd5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b3de2824_e3cb81ac","updated":"2024-07-17 08:04:44.000000000","message":"Still WIP and haven\u0027t had a chance to even run and debug it yet, let alone write tests.. but maybe something similar to this?\n\nIt still needs a bunch of tidying up. It\u0027s a split into worker threads plus refactor. Needs more work to be sure!","commit_id":"e70f9e64baf5350fcd69cd2649cda5089c9ff7ee"}],"swift/obj/server.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e18f95f1bdaae5563e8393195e59aec7fa2cdd5d","unresolved":true,"context_lines":[{"line_number":312,"context_line":"        else:"},{"line_number":313,"context_line":"            full_path \u003d \u0027/%s/%s/%s\u0027 % (account, container, obj)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"        skip \u003d not attempt_sync_update or not updates"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"        if not skip:"},{"line_number":318,"context_line":"            pile \u003d GreenAsyncPile(len(updates))"}],"source_content_type":"text/x-python","patch_set":1,"id":"30a71a4f_27790cf1","line":315,"range":{"start_line":315,"start_character":46,"end_line":315,"end_character":53},"updated":"2024-07-17 08:04:44.000000000","message":"Not convinced this is enough. Just put something in for now.","commit_id":"e70f9e64baf5350fcd69cd2649cda5089c9ff7ee"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e18f95f1bdaae5563e8393195e59aec7fa2cdd5d","unresolved":true,"context_lines":[{"line_number":331,"context_line":"            legacy_metric_name \u003d \u0027sync_update.skip\u0027"},{"line_number":332,"context_line":"            self.logger.increment(legacy_metric_name)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"            results \u003d [(False, None)] * len(updates)"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"        # Whatever failed, send to async_pending"},{"line_number":337,"context_line":"        for result, redirect_path in results:"}],"source_content_type":"text/x-python","patch_set":1,"id":"527d2900_0d494152","line":334,"range":{"start_line":334,"start_character":12,"end_line":334,"end_character":52},"updated":"2024-07-17 08:04:44.000000000","message":"Need to further extract the async_pending so I don\u0027t need to simulate a failed result here.","commit_id":"e70f9e64baf5350fcd69cd2649cda5089c9ff7ee"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e18f95f1bdaae5563e8393195e59aec7fa2cdd5d","unresolved":true,"context_lines":[{"line_number":344,"context_line":"            timestamp \u003d headers_out.get(\u0027x-meta-timestamp\u0027,"},{"line_number":345,"context_line":"                                        headers_out.get(\u0027x-timestamp\u0027))"},{"line_number":346,"context_line":"            self._diskfile_router[policy].pickle_async_update("},{"line_number":347,"context_line":"                objdevice, account, container, obj, data, timestamp, policy)"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    def sync_worker(self, op, path, obj, host, partition,"},{"line_number":350,"context_line":"                    contdevice, headers_out,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a273855_ce26dfd0","line":347,"updated":"2024-07-17 08:04:44.000000000","message":"Not sure what the difference between what we\u0027re writing to async pending. I don\u0027t see the host or container device or anything being written to mention a particular host. But it is getting late here, so probably just tired.","commit_id":"e70f9e64baf5350fcd69cd2649cda5089c9ff7ee"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"e18f95f1bdaae5563e8393195e59aec7fa2cdd5d","unresolved":true,"context_lines":[{"line_number":1154,"context_line":"        return HTTPCreated(request\u003drequest, etag\u003detag)"},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"    @ public"},{"line_number":1157,"context_line":"    @ timing_stats()"},{"line_number":1158,"context_line":"    def GET(self, request):"},{"line_number":1159,"context_line":"        \"\"\"Handle HTTP GET requests for the Swift Object Server.\"\"\""},{"line_number":1160,"context_line":"        device, partition, account, container, obj, policy \u003d get_obj_name_and_placement("}],"source_content_type":"text/x-python","patch_set":1,"id":"6c7085fe_98a24e10","line":1157,"updated":"2024-07-17 08:04:44.000000000","message":"Damn vscode \"fixing things\"","commit_id":"e70f9e64baf5350fcd69cd2649cda5089c9ff7ee"}]}
