From c180ab7523b3bb679c20e53e36311f3d1c3f90f0 Mon Sep 17 00:00:00 2001 From: Konstantin Semenov Date: Thu, 23 Nov 2023 15:16:59 +0000 Subject: [PATCH] Fix version pagination by adding default batch size **Issue:** We realised that whilst bumping `aws-sdk-go-v2/services/s3` to version `1.44.0` we found a breaking change where a default value for `MaxKeys` in the `ListObjectVersionsInput` struct was being set to `0`, resulting in 0 versions being returned. It should have been `1 000`. ``` input := &s3.ListObjectVersionsInput{ Bucket: aws.String("tf-acc-test-7828939106372858870"), MaxKeys: aws.Int32(1000), } ``` More details: https://github.com/aws/aws-sdk-go-v2/issues/2379 **Workaround:** We are explicitly setting the `MaxKeys` to `1_000` as it should be. [#186503787] Signed-off-by: Diego Lemos --- src/s3-blobstore-backup-restore/s3bucket/bucket.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/s3-blobstore-backup-restore/s3bucket/bucket.go b/src/s3-blobstore-backup-restore/s3bucket/bucket.go index ae38e5132..7d78b4308 100644 --- a/src/s3-blobstore-backup-restore/s3bucket/bucket.go +++ b/src/s3-blobstore-backup-restore/s3bucket/bucket.go @@ -172,7 +172,8 @@ func (b Bucket) ListVersions() ([]Version, error) { var versions []Version paginator := s3.NewListObjectVersionsPaginator(b.s3Client, &s3.ListObjectVersionsInput{ - Bucket: aws.String(b.name), + Bucket: aws.String(b.name), + MaxKeys: aws.Int32(1000), }) for paginator.HasMorePages() {