补齐归档清单上传限速
让已有全量归档的 manifest 继承同一上传带宽限制器 收紧并发上传共享累计带宽预算测试
This commit is contained in:
@@ -152,13 +152,11 @@ async function assertUploadBandwidthLimiterSharesBudgetAndPropagatesErrors() {
|
||||
'必须为空、0 或 >= 1024 的整数',
|
||||
'上传带宽限制必须拒绝过小值。',
|
||||
);
|
||||
let nowMs = 0;
|
||||
const delays = [];
|
||||
const limiter = createUploadBandwidthLimiter(1024, {
|
||||
nowFn: () => nowMs,
|
||||
nowFn: () => 0,
|
||||
sleepImpl: async (delayMs) => {
|
||||
delays.push(delayMs);
|
||||
nowMs += delayMs;
|
||||
},
|
||||
});
|
||||
const consume = async (stream) => {
|
||||
@@ -173,8 +171,7 @@ async function assertUploadBandwidthLimiterSharesBudgetAndPropagatesErrors() {
|
||||
consume(limiter.wrap(Readable.from([Buffer.alloc(1024), Buffer.alloc(1024)], {objectMode: false}))),
|
||||
]);
|
||||
assertEqual(firstBytes + secondBytes, 4096, '共享上传限速器不得丢失并发流内容。');
|
||||
assertEqual(nowMs, 4000, '两个并发上传流必须共享同一个总带宽预算。');
|
||||
assertEqual(delays.reduce((sum, delayMs) => sum + delayMs, 0), 4000, '共享上传限速器必须预约完整字节时长。');
|
||||
assertEqual(delays.join(','), '1000,2000,3000,4000', '两个并发上传流必须共享同一个累计带宽预算。');
|
||||
|
||||
let sourceError = null;
|
||||
try {
|
||||
|
||||
@@ -2630,6 +2630,7 @@ async function uploadExistingArchive({args, env, bucket, endpoint, accessKeyId,
|
||||
objectKey: uploadedManifest.manifestObjectKey,
|
||||
accessKeyId,
|
||||
accessKeySecret,
|
||||
bandwidthLimiter,
|
||||
});
|
||||
uploadedManifest.manifestVerifiedAt = manifestUpload.verifiedAt;
|
||||
uploadedManifest.manifestContentLength = manifestUpload.contentLength;
|
||||
|
||||
Reference in New Issue
Block a user