)]}'
{"id":"openstack%2Fswift~660249","triplet_id":"openstack%2Fswift~master~Id33a7ab9d0b8f33fede73eae540d6137708e1218","project":"openstack/swift","branch":"master","topic":"bug/1829959","hashtags":[],"change_id":"Id33a7ab9d0b8f33fede73eae540d6137708e1218","subject":"s3api: Fix ETag when copying a MU part from another MU","status":"MERGED","created":"2019-05-21 05:12:19.000000000","updated":"2019-06-17 20:41:24.000000000","submitted":"2019-06-17 20:38:43.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"660249-1560803923280-e3a0d8e9","meta_rev_id":"e8aab5e5042a1f2987df7e49ba531c8ee766e961","_number":660249,"virtual_id_number":660249,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":2,"date":"2019-06-17 20:38:42.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"date":"2019-05-24 16:15:49.000000000","_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":0,"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":2,"date":"2019-06-17 18:49:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"value":1,"date":"2019-06-17 18:49:12.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-06-17 18:49:12.000000000","updated_by":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"reviewer":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"state":"REVIEWER"},{"updated":"2019-06-17 20:38:42.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"779641795c2135e3e22d73084b967d480f20ba05","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-21 05:12:19.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b832d63a3767554db6e5092d58fdfa4230487e72","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-21 05:51:17.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs http://logs.openstack.org/49/660249/1/check/openstack-tox-docs/c9913c2/html/ : SUCCESS in 4m 05s\n- swift-build-image http://logs.openstack.org/49/660249/1/check/swift-build-image/f6d8452/ : SUCCESS in 8m 03s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/49/660249/1/check/swift-tox-py27/38a37a2/ : FAILURE in 9m 54s\n- swift-tox-py36 http://logs.openstack.org/49/660249/1/check/swift-tox-py36/8c199fb/ : FAILURE in 9m 38s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/49/660249/1/check/swift-tox-py37/03f7aee/ : FAILURE in 10m 19s\n- swift-tox-func http://logs.openstack.org/49/660249/1/check/swift-tox-func/1730dd9/ : SUCCESS in 8m 40s\n- swift-tox-func-py37 http://logs.openstack.org/49/660249/1/check/swift-tox-func-py37/1b55fcb/ : SUCCESS in 6m 52s\n- swift-tox-func-encryption http://logs.openstack.org/49/660249/1/check/swift-tox-func-encryption/b1ee15a/ : SUCCESS in 8m 52s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/49/660249/1/check/swift-tox-func-domain-remap-staticweb/dc791df/ : SUCCESS in 8m 44s\n- swift-tox-func-ec http://logs.openstack.org/49/660249/1/check/swift-tox-func-ec/9abf1dd/ : SUCCESS in 9m 07s\n- swift-tox-func-s3api http://logs.openstack.org/49/660249/1/check/swift-tox-func-s3api/42fdc68/ : SUCCESS in 9m 24s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/49/660249/1/check/swift-tox-func-s3api-ceph-s3tests-tempauth/78aa955/ : SUCCESS in 13m 01s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/49/660249/1/check/swift-probetests-centos-7/c1c06a5/ : SUCCESS in 33m 22s\n- swift-dsvm-functional http://logs.openstack.org/49/660249/1/check/swift-dsvm-functional/b700da0/ : SUCCESS in 26m 41s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/49/660249/1/check/swift-dsvm-functional-ipv6/56df5d5/ : SUCCESS in 24m 52s\n- swift-tox-lower-constraints http://logs.openstack.org/49/660249/1/check/swift-tox-lower-constraints/c82acc4/ : FAILURE in 11m 34s\n- openstack-tox-pep8 http://logs.openstack.org/49/660249/1/check/openstack-tox-pep8/607acf0/ : FAILURE in 4m 47s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/49/660249/1/check/swift-multinode-rolling-upgrade/fe9db62/ : FAILURE in 8m 32s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ed004102fd2b9399757e15a77ebd90673cd814ec","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-21 21:02:16.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"da839d23de3d76ce14dc802ae6b9667d0b8d2d79","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-21 23:30:46.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs http://logs.openstack.org/49/660249/2/check/openstack-tox-docs/b96e08a/html/ : SUCCESS in 3m 49s\n- swift-build-image http://logs.openstack.org/49/660249/2/check/swift-build-image/0f11180/ : SUCCESS in 9m 02s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/49/660249/2/check/swift-tox-py27/53f93af/ : SUCCESS in 15m 19s\n- swift-tox-py36 http://logs.openstack.org/49/660249/2/check/swift-tox-py36/dbbad90/ : FAILURE in 6m 08s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/49/660249/2/check/swift-tox-py37/c4851d6/ : SUCCESS in 12m 09s\n- swift-tox-func http://logs.openstack.org/49/660249/2/check/swift-tox-func/43fbad0/ : SUCCESS in 10m 48s\n- swift-tox-func-py37 http://logs.openstack.org/49/660249/2/check/swift-tox-func-py37/7f2b2ba/ : SUCCESS in 7m 50s\n- swift-tox-func-encryption http://logs.openstack.org/49/660249/2/check/swift-tox-func-encryption/58d109b/ : SUCCESS in 10m 55s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/49/660249/2/check/swift-tox-func-domain-remap-staticweb/55205d5/ : SUCCESS in 10m 14s\n- swift-tox-func-ec http://logs.openstack.org/49/660249/2/check/swift-tox-func-ec/b7d5f0e/ : SUCCESS in 9m 14s\n- swift-tox-func-s3api http://logs.openstack.org/49/660249/2/check/swift-tox-func-s3api/39a3519/ : SUCCESS in 14m 26s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/49/660249/2/check/swift-tox-func-s3api-ceph-s3tests-tempauth/08c5b9f/ : SUCCESS in 15m 57s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/49/660249/2/check/swift-probetests-centos-7/49820aa/ : SUCCESS in 30m 40s\n- swift-dsvm-functional http://logs.openstack.org/49/660249/2/check/swift-dsvm-functional/d613f2d/ : SUCCESS in 23m 58s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/49/660249/2/check/swift-dsvm-functional-ipv6/6f82651/ : SUCCESS in 31m 54s\n- swift-tox-lower-constraints http://logs.openstack.org/49/660249/2/check/swift-tox-lower-constraints/ce9e59f/ : FAILURE in 13m 43s\n- openstack-tox-pep8 http://logs.openstack.org/49/660249/2/check/openstack-tox-pep8/4e7eced/ : SUCCESS in 5m 27s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/49/660249/2/check/swift-multinode-rolling-upgrade/ec342aa/ : FAILURE in 7m 43s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"7f6c763f8f7eff2682d64e287c16b346d88c9f9e","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-22 04:35:34.000000000","message":"Patch Set 2: Workflow-1\n\n(2 comments)\n\nNeeds unit tests, too.","accounts_in_message":[],"_revision_number":2},{"id":"d308afdd01785540d5986ba1cfb2bdc5b059b6f6","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-22 20:37:53.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"7ff25462254dd41ef1e3afe0574f42117bd6cb1b","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-22 20:37:57.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"65b9ad4f38f994a6d38432de4558fc4732594f34","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2019-05-24 16:15:49.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"fb49f3c0996da7a314689c44e4c27edd70f768f7","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-05-24 19:28:53.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/49/660249/3/check/openstack-tox-docs/61036db/html/ : SUCCESS in 4m 59s\n- swift-build-image http://logs.openstack.org/49/660249/3/check/swift-build-image/13a404f/ : SUCCESS in 8m 53s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/49/660249/3/check/swift-tox-py27/a5075f8/ : SUCCESS in 12m 38s\n- swift-tox-py36 http://logs.openstack.org/49/660249/3/check/swift-tox-py36/4e6c6b0/ : SUCCESS in 31m 57s (non-voting)\n- swift-tox-py37 http://logs.openstack.org/49/660249/3/check/swift-tox-py37/ccd03af/ : SUCCESS in 9m 40s\n- swift-tox-func http://logs.openstack.org/49/660249/3/check/swift-tox-func/766bd46/ : SUCCESS in 8m 25s\n- swift-tox-func-py37 http://logs.openstack.org/49/660249/3/check/swift-tox-func-py37/bfdce51/ : SUCCESS in 12m 47s\n- swift-tox-func-encryption http://logs.openstack.org/49/660249/3/check/swift-tox-func-encryption/8d7f5e9/ : SUCCESS in 9m 32s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/49/660249/3/check/swift-tox-func-domain-remap-staticweb/f5d8c22/ : SUCCESS in 14m 07s\n- swift-tox-func-ec http://logs.openstack.org/49/660249/3/check/swift-tox-func-ec/5fbc4de/ : SUCCESS in 15m 17s\n- swift-tox-func-s3api http://logs.openstack.org/49/660249/3/check/swift-tox-func-s3api/4fb6f27/ : SUCCESS in 11m 26s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/49/660249/3/check/swift-tox-func-s3api-ceph-s3tests-tempauth/14f870b/ : SUCCESS in 13m 33s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/49/660249/3/check/swift-probetests-centos-7/1873542/ : SUCCESS in 34m 46s\n- swift-dsvm-functional http://logs.openstack.org/49/660249/3/check/swift-dsvm-functional/c062078/ : SUCCESS in 21m 58s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/49/660249/3/check/swift-dsvm-functional-ipv6/242505a/ : SUCCESS in 28m 19s\n- swift-tox-lower-constraints http://logs.openstack.org/49/660249/3/check/swift-tox-lower-constraints/b4ee426/ : SUCCESS in 12m 05s\n- openstack-tox-pep8 http://logs.openstack.org/49/660249/3/check/openstack-tox-pep8/9b63200/ : SUCCESS in 5m 25s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/49/660249/3/check/swift-multinode-rolling-upgrade/a7315cc/ : FAILURE in 9m 32s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"5d5f21598a52a7716b7a7aaaa9610d1158b9f19a","author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"date":"2019-06-17 18:49:12.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\nlgtm. I also tested this against a 1space use case where we were running into this exact issue, and this patch fixed it.","accounts_in_message":[],"_revision_number":3},{"id":"18a12746cb5982dfb628928fb46e701e5e99a356","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-17 18:49:27.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"c1c4aee83aa28d3d29471d4ef475d0eaa6475c66","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-17 20:38:42.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs http://logs.openstack.org/49/660249/3/gate/openstack-tox-docs/9170b12/html/ : SUCCESS in 4m 21s\n- swift-upload-image http://logs.openstack.org/49/660249/3/gate/swift-upload-image/a1c8c43/ : SUCCESS in 8m 50s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/49/660249/3/gate/swift-tox-py27/c222d97/ : SUCCESS in 10m 48s\n- swift-tox-py37 http://logs.openstack.org/49/660249/3/gate/swift-tox-py37/e2bb6c2/ : SUCCESS in 11m 53s\n- swift-tox-func http://logs.openstack.org/49/660249/3/gate/swift-tox-func/389b1ff/ : SUCCESS in 10m 19s\n- swift-tox-func-py37 http://logs.openstack.org/49/660249/3/gate/swift-tox-func-py37/901c8cf/ : SUCCESS in 9m 41s\n- swift-tox-func-encryption http://logs.openstack.org/49/660249/3/gate/swift-tox-func-encryption/d1b5702/ : SUCCESS in 9m 43s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/49/660249/3/gate/swift-tox-func-domain-remap-staticweb/d86fe62/ : SUCCESS in 9m 55s\n- swift-tox-func-ec http://logs.openstack.org/49/660249/3/gate/swift-tox-func-ec/e5f58fb/ : SUCCESS in 13m 08s\n- swift-tox-func-s3api http://logs.openstack.org/49/660249/3/gate/swift-tox-func-s3api/de152e4/ : SUCCESS in 30m 38s\n- swift-probetests-centos-7 http://logs.openstack.org/49/660249/3/gate/swift-probetests-centos-7/501a6ec/ : SUCCESS in 36m 31s\n- swift-dsvm-functional http://logs.openstack.org/49/660249/3/gate/swift-dsvm-functional/e8c7b3e/ : SUCCESS in 25m 38s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/49/660249/3/gate/swift-dsvm-functional-ipv6/9f64be7/ : SUCCESS in 25m 08s\n- swift-tox-lower-constraints http://logs.openstack.org/49/660249/3/gate/swift-tox-lower-constraints/b33859d/ : SUCCESS in 15m 24s\n- openstack-tox-pep8 http://logs.openstack.org/49/660249/3/gate/openstack-tox-pep8/e5b9224/ : SUCCESS in 5m 53s","accounts_in_message":[],"_revision_number":3},{"id":"d176802c62177f8469818c76799b0a257491f2de","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-17 20:38:43.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"8ddc5d592f537868837e157c5e10a19bbd664b19","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-06-17 20:41:24.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- swift-promote-image http://logs.openstack.org/49/660249/3/promote/swift-promote-image/dc34bd9/ : SUCCESS in 58s (non-voting)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"e22960fd718c4594bc8a504a12aba3f6a52175bf","revisions":{"731332fc1f4aae6e5474dd82592d29fb6c8486d6":{"kind":"REWORK","_number":1,"created":"2019-05-21 05:12:19.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/49/660249/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/49/660249/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/49/660249/1"}}},"commit":{"parents":[{"commit":"f17b9d2e24b22c29dcf09265d7c59d2550262385","subject":"Merge \"Be explicit that a code path is just for py2\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f17b9d2e24b22c29dcf09265d7c59d2550262385"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-21 04:54:40.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-21 04:54:44.000000000","tz":-420},"subject":"s3api: Fix ETag when copying a MU part from another MU","message":"s3api: Fix ETag when copying a MU part from another MU\n\nPreviously, we\u0027d preserve the sysmeta that we wrote down with the\noriginal multipart-upload to track its S3-style etag on the new part,\ncausing it to have an ETag like `\u003cMD5\u003e-\u003cN\u003e`. Later, when the client\ntried to complete the new multipart-upload, it would send that etag back\nto the server, which would reject the request because the ETag didn\u0027t\nlook like a normal MD5.\n\nNow, have s3api include blank values in the copy request to overwrite\nthe source sysmeta, and have copy drop headers that do not have values.\nWithout the change to copy, we would persist the sysmeta headers with the\nempty value and return them in subsequent GETs; there was no way to\ncompletely *remove* the headers.\n\nChange-Id: Id33a7ab9d0b8f33fede73eae540d6137708e1218\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/731332fc1f4aae6e5474dd82592d29fb6c8486d6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/731332fc1f4aae6e5474dd82592d29fb6c8486d6"}]},"branch":"refs/heads/master"},"887132b83e174befee21f1c40dcfbd95c5be1824":{"kind":"REWORK","_number":2,"created":"2019-05-21 21:02:16.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/49/660249/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/49/660249/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/49/660249/2"}}},"commit":{"parents":[{"commit":"f17b9d2e24b22c29dcf09265d7c59d2550262385","subject":"Merge \"Be explicit that a code path is just for py2\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f17b9d2e24b22c29dcf09265d7c59d2550262385"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-21 04:54:40.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-21 21:00:41.000000000","tz":-420},"subject":"s3api: Fix ETag when copying a MU part from another MU","message":"s3api: Fix ETag when copying a MU part from another MU\n\nPreviously, we\u0027d preserve the sysmeta that we wrote down with the\noriginal multipart-upload to track its S3-style etag on the new part,\ncausing it to have an ETag like `\u003cMD5\u003e-\u003cN\u003e`. Later, when the client\ntried to complete the new multipart-upload, it would send that etag back\nto the server, which would reject the request because the ETag didn\u0027t\nlook like a normal MD5.\n\nNow, have s3api include blank values in the copy request to overwrite\nthe source sysmeta, and treat a blank etag override the same as a\nmissing one.\n\nChange-Id: Id33a7ab9d0b8f33fede73eae540d6137708e1218\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/887132b83e174befee21f1c40dcfbd95c5be1824"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/887132b83e174befee21f1c40dcfbd95c5be1824"}]},"branch":"refs/heads/master"},"e22960fd718c4594bc8a504a12aba3f6a52175bf":{"kind":"REWORK","_number":3,"created":"2019-05-22 20:37:57.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/49/660249/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/49/660249/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/49/660249/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/49/660249/3"}}},"commit":{"parents":[{"commit":"b4c8cf192a39004645e2608d4cfc0ac5dcf3b516","subject":"Merge \"Fix quarantine when object path is not a directory\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b4c8cf192a39004645e2608d4cfc0ac5dcf3b516"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-21 04:54:40.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2019-05-22 20:36:41.000000000","tz":-420},"subject":"s3api: Fix ETag when copying a MU part from another MU","message":"s3api: Fix ETag when copying a MU part from another MU\n\nPreviously, we\u0027d preserve the sysmeta that we wrote down with the\noriginal multipart-upload to track its S3-style etag on the new part,\ncausing it to have an ETag like `\u003cMD5\u003e-\u003cN\u003e`. Later, when the client\ntried to complete the new multipart-upload, it would send that etag back\nto the server, which would reject the request because the ETag didn\u0027t\nlook like a normal MD5.\n\nNow, have s3api include blank values in the copy request to overwrite\nthe source sysmeta, and treat a blank etag override the same as a\nmissing one.\n\nChange-Id: Id33a7ab9d0b8f33fede73eae540d6137708e1218\nCloses-Bug: #1829959\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e22960fd718c4594bc8a504a12aba3f6a52175bf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e22960fd718c4594bc8a504a12aba3f6a52175bf"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
