Skip to content

fix: update SSM parameter handling and make certain fields optional in configuration#597

Merged
liu-zhipeng merged 1 commit intostagingfrom
fix/api_throttling
Mar 13, 2026
Merged

fix: update SSM parameter handling and make certain fields optional in configuration#597
liu-zhipeng merged 1 commit intostagingfrom
fix/api_throttling

Conversation

@preethamr
Copy link
Copy Markdown
Collaborator

Three compounding bugs:

Double SSM reads: config.ts reads Share 1 from SSM in a first loop (lines 233-275), then stitchConfig reads the exact same parameters from SSM again (stitcher.ts line 175). The first loop's results are ignored by the stitcher.

Expensive API pattern: getSsmParameter called DescribeParameters + GetParameter per field = 2 API calls per field. With 4 fields x 2 reads x 2 calls = 16 SSM API calls per Lambda invocation. With 6 Lambdas on overlapping schedules: up to 96 concurrent SSM calls, easily exceeding the DescribeParameters limit of ~10 TPS in sa-east-1.

Error swallowing: getSsmParameter caught ThrottlingException and returned undefined, which downstream code treated as "parameter not found" -- a misleading error message hiding the real cause.

@liu-zhipeng liu-zhipeng merged commit a4bfa48 into staging Mar 13, 2026
4 checks passed
@liu-zhipeng liu-zhipeng deleted the fix/api_throttling branch March 13, 2026 06:19
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.

3 participants