)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"08be1b8ae5b9b67796983c949bf148844057be20","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Only durable incomplete evidence is authoritative in final fallback."},{"line_number":14,"context_line":"Non-durable fragments left by a PUT that did not complete its commit"},{"line_number":15,"context_line":"phase remain not found, while too few fragments for known durable data"},{"line_number":16,"context_line":"remain unavailable."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Keep timestamp-only fragment availability separate from response"},{"line_number":19,"context_line":"identity. An object server cannot identify an alternate\u0027s ETag, length,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"2e131854_2388ac7e","line":16,"updated":"2026-09-17 09:37:48.000000000","message":"remain not found \u003d 404\nremain unavailable \u003d 503\n\nBut `test_GET_late_durable_rumor_does_not_change_404` and `test_GET_durable_rumor_disproved_by_404_does_not_change_404` says it should be a 404?","commit_id":"c36e3feb2cefb2fa5885e16f050dd17ad38ad8b8"}],"swift/proxy/controllers/obj.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"b35829c160f80c62afd971f2bdba4310bdf4ff5e","unresolved":true,"context_lines":[{"line_number":2610,"context_line":"                continue"},{"line_number":2611,"context_line":"            if timestamp in durable_identified_timestamps:"},{"line_number":2612,"context_line":"                continue"},{"line_number":2613,"context_line":"            nodes \u003d self._available_alternate_nodes(timestamp, set())"},{"line_number":2614,"context_line":"            if nodes:"},{"line_number":2615,"context_line":"                return timestamp, nodes"},{"line_number":2616,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":4,"id":"10c11de0_62607b87","line":2613,"updated":"2026-09-16 09:21:11.000000000","message":"The `set()` basically ignores any nodes that have been queried already, which results in many more backend requests. Notable in `test_GET_with_missing_durables_and_older_obscured_durables`, which becomes flakey","commit_id":"ceeac03997423dd3afceef208ff39b7eae73df16"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"91b3d76145094d68899c6839ea85e746674c3d27","unresolved":true,"context_lines":[{"line_number":3228,"context_line":"                    pile._pending)"},{"line_number":3229,"context_line":"                if not node_iter.primaries_left and ("},{"line_number":3230,"context_line":"                        not pile._pending or alternate_available):"},{"line_number":3231,"context_line":"                    awaiting_primary_evidence \u003d False"},{"line_number":3232,"context_line":"                requests_available \u003d extra_requests \u003c max_extra_requests and ("},{"line_number":3233,"context_line":"                    node_iter.nodes_left \u003e 0 or alternate_available)"},{"line_number":3234,"context_line":"                if (requests_available and"}],"source_content_type":"text/x-python","patch_set":5,"id":"9c3b4490_2981be15","line":3231,"updated":"2026-09-17 09:04:48.000000000","message":"As soon as this is set, the number of in-flights decreases - on master they were kept at ec_ndata. I think this slows down a GET response for a non-existing object quite a bit: instead of running ec_ndata requests (semi-)parallel, they are now serialized. The number of requests are the same, but the response will be slower.","commit_id":"c36e3feb2cefb2fa5885e16f050dd17ad38ad8b8"}]}
