)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1772f029df304d2c8cbaf7b0262191eba191b3b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e0ac6b08_f6e589cc","updated":"2024-04-19 18:32:58.000000000","message":"forgot to post these!","commit_id":"40ed70451732e077dd29317e0f1ad1f6b1ea9609"}],"test/unit/obj/test_server.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1772f029df304d2c8cbaf7b0262191eba191b3b2","unresolved":true,"context_lines":[{"line_number":7663,"context_line":"            \u0027obj\u0027: \u0027%s-a/c/o\u0027 % delete_at,"},{"line_number":7664,"context_line":"            \u0027headers\u0027: {"},{"line_number":7665,"context_line":"                \u0027X-Backend-Storage-Policy-Index\u0027: \u00270\u0027,"},{"line_number":7666,"context_line":"                # DELETE shouldn\u0027t have same timestamp as PUT to same path"},{"line_number":7667,"context_line":"                \u0027X-Timestamp\u0027: put2_ts.normal,"},{"line_number":7668,"context_line":"                \u0027X-Trans-Id\u0027: \u0027txn2\u0027,"},{"line_number":7669,"context_line":"                \u0027Referer\u0027: \u0027PUT http://localhost/sda1/p/a/c/o\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"2c11a688_c9002daf","line":7666,"updated":"2024-04-19 18:32:58.000000000","message":"this is super bad - I POST avoids this by checking orig_delete_at !\u003d new_delete_at, we need to be willing to send a new_delete_at with the current x-timestamp every put but we only have to cleanup the \"orig_delete_at\" if it\u0027s a different path (when it\u0027s the SAME delete_at path we \"clean it up\" by way of an overwrite!)","commit_id":"40ed70451732e077dd29317e0f1ad1f6b1ea9609"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1772f029df304d2c8cbaf7b0262191eba191b3b2","unresolved":true,"context_lines":[{"line_number":7774,"context_line":"                delete_at_container, delete_at"},{"line_number":7775,"context_line":"            ), {"},{"line_number":7776,"context_line":"                \u0027X-Backend-Storage-Policy-Index\u0027: \u00270\u0027,"},{"line_number":7777,"context_line":"                # only the first POST generates an update?"},{"line_number":7778,"context_line":"                \u0027X-Timestamp\u0027: post1_ts.normal,"},{"line_number":7779,"context_line":"                \u0027X-Trans-Id\u0027: \u0027txn2\u0027,"},{"line_number":7780,"context_line":"                \u0027Referer\u0027: \u0027POST http://localhost/sda1/p/a/c/o\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ab0ed48_bcab3b3b","line":7777,"updated":"2024-04-19 18:32:58.000000000","message":"I haven\u0027t convinced myself there is a race here when dealing with inconsistent nodes, but it sort of *seems* like some node could potentially decide it doesn\u0027t need to send it\u0027s update when in reality it\u0027s THE node with the important/useful/latest x-content-type/bytes-timestamp\n\nmaybe that can\u0027t happen...\n\nbut it also seems like it would be totally fine to just always send the update just in case.","commit_id":"40ed70451732e077dd29317e0f1ad1f6b1ea9609"}]}
