Actions
Bug #59184
openrgw/archive: Duplicate object versions are created
% Done:
0%
Source:
Tags:
archive backport_processed
Backport:
pacific quincy reef
Regression:
No
Severity:
3 - minor
Reviewed:
Description
The archive zone is creating multiple copies of the same object, one for each source zone configured.
For eg.,
- aws --no-verify-ssl --endpoint-url http://localhost:8000 s3 cp ../../scripts/sample_hello.txt s3://bucket1/test2
upload: ../../scripts/sample_hello.txt to s3://bucket1/test2 - aws s3api --no-verify-ssl --endpoint http://localhost:8002 list-object-versions --bucket bucket1
{
"Versions": [ {
"ETag": "\"ed076287532e86365e841e92bfc50d8c\"",
"Size": 12,
"StorageClass": "STANDARD",
"Key": "test2",
"VersionId": "LhGwcb-wEgEdTdcXQdlASTmSZMmQ7vz",
"IsLatest": true,
"LastModified": "2023-03-26T13:53:30.014Z",
"Owner": {
"DisplayName": "cosbench_user",
"ID": "cosbench"
}
}, {
"ETag": "\"ed076287532e86365e841e92bfc50d8c\"",
"Size": 12,
"StorageClass": "STANDARD",
"Key": "test2",
"VersionId": "Z3.arxptMW6iZq1bKaGrgH9czWPKrOf",
"IsLatest": false,
"LastModified": "2023-03-26T13:53:30.014Z",
"Owner": {
"DisplayName": "cosbench_user",
"ID": "cosbench"
}
}
]
} #
From Casey >>>
in normal sync, the destination zone sends its current object mtime in the If-Modified-Since header to avoid duplicating sync from multiple source zones
it looks like that logic is broken by RGWArchiveDataSyncModule::sync_object(), which generates a random version id for the destination object; so RGWObjFetchCR would try to look up the mtime for that version and fail, so wouldn't be able to send a If-Modified-Since header
<<<
Actions