From acabbb29c4a1397e39e0b996c69dacbb4d3dea50 Mon Sep 17 00:00:00 2001 From: SayaAndy Date: Mon, 4 May 2026 00:16:35 +0700 Subject: fix: lock the cache map mutex before checking it feat: disable log output checksum validation skipped spam --- internal/client/input/s3.go | 1 + internal/client/output/s3.go | 13 +++++++------ main.go | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/internal/client/input/s3.go b/internal/client/input/s3.go index 4f84788..00684c2 100644 --- a/internal/client/input/s3.go +++ b/internal/client/input/s3.go @@ -150,6 +150,7 @@ func newS3Client(cfg *config.S3Config) (*s3.Client, error) { } s3Opts = append(s3Opts, func(o *s3.Options) { o.UsePathStyle = cfg.UsePathStyle + o.DisableLogOutputChecksumValidationSkipped = true }) return s3.NewFromConfig(awsCfg, s3Opts...), nil diff --git a/internal/client/output/s3.go b/internal/client/output/s3.go index 9d54a5e..f0527fb 100644 --- a/internal/client/output/s3.go +++ b/internal/client/output/s3.go @@ -48,12 +48,12 @@ func (c *S3OutputClient) GetWriter(path string, inputMetadata *input.MetadataStr key := c.prefix + path return &s3WriteCloser{ - key: key, - bucketName: c.bucketName, - s3cl: c.s3cl, - contentType: outputContentType, - hashOriginal: inputMetadata.Hash, - buf: &bytes.Buffer{}, + key: key, + bucketName: c.bucketName, + s3cl: c.s3cl, + contentType: outputContentType, + hashOriginal: inputMetadata.Hash, + buf: &bytes.Buffer{}, }, nil } @@ -163,6 +163,7 @@ func newS3Client(cfg *config.S3Config) (*s3.Client, error) { } s3Opts = append(s3Opts, func(o *s3.Options) { o.UsePathStyle = cfg.UsePathStyle + o.DisableLogOutputChecksumValidationSkipped = true }) return s3.NewFromConfig(awsCfg, s3Opts...), nil diff --git a/main.go b/main.go index ae8cb6e..f3c1196 100644 --- a/main.go +++ b/main.go @@ -165,11 +165,11 @@ func main() { var inputMetadata *input.MetadataStruct id := inputClient.ID(file) + cacheMapMutex.Lock() if _, ok := cacheMap[id]; !ok { - cacheMapMutex.Lock() cacheMap[id] = make(map[uint32]struct{}) - cacheMapMutex.Unlock() } + cacheMapMutex.Unlock() convertersToLaunch := []int{} for j, conv := range converters { -- cgit v1.3.1+13