CLDSRV-925: UploadPartCopy handle checksums#6188
Conversation
Hello leif-scality,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
❌ 2 Tests Failed:
View the full list of 2 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
213b6f9 to
c216f9e
Compare
|
LGTM |
dc11eca to
bb17208
Compare
|
967cc06 to
1aef129
Compare
…nds match UploadPart behaviour
1aef129 to
4e842be
Compare
| const algo = mpuOverviewMD.checksumAlgorithm; | ||
| const recompute = algo && _shouldRecomputeChecksum(request, sourceObjMD.checksum, algo); | ||
| // External backends need their own MPU API, so _copyPartStreamingWithChecksum (data.put) can't be used. | ||
| const destIsExternal = constants.externalBackends[ | ||
| config.getLocationConstraintType(destObjLocationConstraint)]; | ||
| if (recompute && dataLocator.length > 0 && !destIsExternal) { | ||
| return _copyPartStreamingWithChecksum(dataLocator, copyObjectSize, sse, | ||
| destObjLocationConstraint, dataStoreContext, algo, log, (err, result) => { | ||
| // eslint-disable-next-line no-param-reassign | ||
| request.actionImplicitDenies = originalIdentityAuthzResults; | ||
| if (err) { | ||
| // eslint-disable-next-line no-param-reassign | ||
| request.sourceServerAccessLog && (request.sourceServerAccessLog.error = err); | ||
| return next(err, destBucketMD); | ||
| } | ||
| return next(null, destBucketMD, result.locations, result.totalHash, copyObjectSize, | ||
| sourceVerId, sse, new Date().toJSON(), splitter, mpuOverviewMD, result.checksum); | ||
| }); |
There was a problem hiding this comment.
Do we know how much time do we spend here? How many milliseconds do we add?
There was a problem hiding this comment.
No. There is a task open to measure the cost of checksums, it is going to be done next
UploadPartCopy — when the checksum is recomputed vs reused vs skipped
copy-source-rangepresentUploadPart