)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"66399b6e1ad4c8a585c8db260bbd7f479dd17f75","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"If you want to create a \"static\" symlink to an SLO manifest by sending"},{"line_number":14,"context_line":"an \"X-Symlink-Target-Etag: \u003cetag\u003e\" header then the value of \u003cetag\u003e"},{"line_number":15,"context_line":"must be the manifest etag rather than the large object etag. However,"},{"line_number":16,"context_line":"the manifest etag was not previously included in the response to an"},{"line_number":17,"context_line":"SLO manifest PUT request."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"adb8c98d_fbd18e36","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":60},"updated":"2024-09-20 16:12:46.000000000","message":"I\u0027m wondering if this is a \"bug\", in that it should be possible to cite the SLO etag as X-Symlink-Target-Etag\n\nI fear we\u0027re going to run into the same issue with creating a symlink to an MPU (which is in itself a symlink). \n```\n/a/c/my-symlink is a symlink \n |\n v\n/a/c/my-mpu is a symlink : etag \u003d md5(\u0027\u0027)\n |\n v\nmanifest for MPU parts: etag \u003d md5(manifest json)\n                        mpu_etag \u003d md5(list of part md5s)\n```\n\nWhen creating a static symlink to the mpu in the user\u0027s namespace, the client is going to want to send the mpu_etag, which is not the empty-string-md5 of the mpu\u0027s symlink","commit_id":"7dd6f42a1c8598f1efd22e63c54498f288c2055d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a34f9ddc7842679abc556912852b11923318cf8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f52f11fd_54ea157f","updated":"2024-09-20 17:24:16.000000000","message":"Moving this to WIP. I think there may be a way to avoid this being a pre-requisite  for what I\u0027m trying to do over on feature/mpu, so pause this while I explore alternatives on feature/mpu\n\n(I need a way to get the target bytes and etag appended to the symlink etag. Static symlink is one way, but I\u0027ve just discovered the \u0027swift.symlink_override\u0027 environ flag that may allow mpu middleware to force the values through symlink.)\n\nThere does however remain the question of how a client can create a *static* symlink to an object whose \"on-disk\" etag is not the same as the client\u0027s view of the etag.\n\nPerhaps if all middlewares append their notion of etag to the override etag header then symlink can infer that the first (left-most) of these is the client\u0027s view of etag and match that when verifying a *static* symlink request??","commit_id":"7dd6f42a1c8598f1efd22e63c54498f288c2055d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a1a48308fc2270831784f51710d38f90e8435c8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f968bd4b_440f9cef","updated":"2024-09-16 10:57:25.000000000","message":"This patch was originally based on feature/mpu https://review.opendev.org/c/openstack/swift/+/917010","commit_id":"7dd6f42a1c8598f1efd22e63c54498f288c2055d"}]}
