diff --git a/CHANGES.md b/CHANGES.md index c52f5ab..e4b0e44 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,10 @@ ## develop +- [FIX] 5GB を超えるファイルのアップロード時に帯域制限がかかるように修正する + - 帯域制限設定を行ってもマルチパートアップロードを有効にし、マルチパートアップロードの並列アップロード数を 1 つずつにすることで帯域制限を行う + - この修正以前は、帯域制限設定を行うとマルチパートアップロードが無効となり 5GB を超えるファイルのアップロードができなかった + - @tnamao - [UPDATE] report ファイルアップロード後のウェブフックに `recording_metadata` を追加する - アップロードした report ファイルの `recording_metadata` または `metadata` の内容をウェブフックの `recording_metadata` に含めて送信する - セッション録画の場合は `recording_metadata` の値を使用する diff --git a/s3.go b/s3.go index 1464f97..fecf1d1 100644 --- a/s3.go +++ b/s3.go @@ -181,9 +181,10 @@ func uploadWebMFileWithRateLimit(ctx context.Context, osConfig *s3.S3CompatibleO Str("dst", dst). Msg("WEB-UPLOAD-START") - // 制限時にはマルチパートアップロードを行わない + // 使用帯域の制限時は、巨大なサイズのファイルのアップロードする時に使用される multipart アップロードで + // 並列アップロードは行わずに 1 thread で処理されるようにオプションを設定する n, err := s3Client.PutObject(ctx, osConfig.BucketName, dst, fileReader, fileSize, - minio.PutObjectOptions{ContentType: "application/octet-stream", DisableMultipart: true}) + minio.PutObjectOptions{ContentType: "application/octet-stream", NumThreads: 1}) if err != nil { return "", err }