INNER CODE UNIT · Go
wrapSoakArchiveUploadErr
redpanda-data/connect · benchmarking/aws/runner/main.go:846
func wrapSoakArchiveUploadErr(key, bucket string, err error) error {
if _, ok := errors.AsType[*s3types.NoSuchBucket](err); ok {
return fmt.Errorf("upload %s to soak archive bucket %q: bucket does not exist — run `task aws:persistent` to create it: %w", key, bucket, err)
}
return fmt.Errorf("upload %s to soak archive bucket %q: %w", key, bucket, err)
}
// copySoakArtifact streams one raw per-point artifact from the session
// results bucket (where the bench script wrote it) into the archive
// bucket, under the identical key.
func copySoakArtifact(ctx context.Context, fetcher LogFetcher, client *s3.Client, sessionBucket, archiveBucket, key string) error {
body, err := fetcher.Fetch(ctx, sessionBucket, key)
if err != nil {
return fmt.Errorf("fetch from session bucket %q: %w", sessionBucket, err)
}
defer body.Close()
raw, err := io.ReadAll(body)
if err != nil {