Skip to content

fix: extend Lambda read_timeout, disable retries#204

Open
willmizzi wants to merge 1 commit intoaws:mainfrom
willmizzi:fix/lambda-client-read-timeout
Open

fix: extend Lambda read_timeout, disable retries#204
willmizzi wants to merge 1 commit intoaws:mainfrom
willmizzi:fix/lambda-client-read-timeout

Conversation

@willmizzi
Copy link
Copy Markdown

Issue #, if available:
#203

Description of changes:

Fixes a crash of SAM local RIE during long-running durable Lambda steps.

botocore's default read_timeout of 60s was being used for local-runner Lambda
invocations made by this testing library, so any durable step that ran longer
than 60s would cause a client-side ReadTimeoutError. The default
max_attempts=3 retry policy then re-invoked the still-running Lambda,
compounding the problem.

This change routes Lambda-invocation client construction inside the library
through a single helper that applies a consistent botocore.config.Config:

  • read_timeout=960 seconds (Lambda's 900s max runtime + headroom for network
    round-trip and SAM local RIE startup).
  • retries={"max_attempts": 0} — client-side retries disabled.

Manually tested against the reproduction in the original issue and confirmed that steps running longer than 60s don't cause a crash.

Dependencies

If this PR requires testing against a specific branch of the Python Language SDK (e.g., for unreleased changes), uncomment and specify the branch below. Otherwise, leave commented to use the main branch.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

- Introduce a shared Lambda client config with a 960s read_timeout
  and retries disabled
- Route all Lambda client construction through a single helper
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.

1 participant