Skip to content

chore: remove unused aws-sdk-go v1 dependency - #1047

Open
alexluong wants to merge 1 commit into
mainfrom
perf/drop-aws-sdk-v1
Open

chore: remove unused aws-sdk-go v1 dependency#1047
alexluong wants to merge 1 commit into
mainfrom
perf/drop-aws-sdk-v1

Conversation

@alexluong

@alexluong alexluong commented Aug 16, 2026

Copy link
Copy Markdown
Collaborator

aws-sdk-go v1 is still in the module graph, but nothing uses it as an SDK. Three files import it for exactly one helper — aws.String() — and all three already use v2 clients for the actual AWS work:

  • internal/util/awsutil/awsutil.go
  • internal/mqs/queue_awssqs.go
  • internal/destregistry/providers/destawssqs/destawssqs.go

aws-sdk-go-v2/aws provides the same aws.String(), so the import swap is mechanical and v1 drops out of go.mod and go.sum entirely. One less SDK to keep patched, and no second AWS SDK version for readers to reason about.

It also costs something at runtime, which is what made it noticeable: v1's aws package pulls in aws/endpoints through Config.EndpointResolver, and that package's init() builds the full AWS region and service catalog into package-level maps. init() runs whether or not the package is used and the maps stay reachable for the process lifetime, so it is never collected — about 2.6 MiB of live heap on an idle process that may never touch AWS at all.

go test -short ./... passes.

🤖 Generated with Claude Code

@alexluong alexluong changed the title perf: drop aws-sdk-go v1 chore: remove unused aws-sdk-go v1 dependency Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants