Tags: aws/aws-lambda-python-runtime-interface-client
Tags
feat: Emit worker pool size as a DEBUG log event during init on Lambd… …a Managed Instances (#219) * feat: Emit worker pool size as a DEBUG log event during init on Lambda Managed Instances * fix: Stringify non-serializable JSON log values and close init log sink Address PR review feedback: - Add default=str to the JSON log encoder so dict messages (and extra attributes) containing non-serializable values are stringified instead of raising and dropping the log record. - Close the log sink opened by init_logging deterministically after the parent's handler is removed, instead of relying on GC. * fix: Remove redundant output redirect from parent process RAPID wires the runtime main process's stdout/stderr to the log egress at spawn, so the parent does not need to dial the telemetry FD provider socket — that socket exists for the forked workers, which continue to redirect in run_single. Addresses PR review feedback.
feat: Add Lambda-Runtime-Invocation-Id support for cross-wiring prote… …ction (#214) * feat: Add Lambda-Runtime-Invocation-Id support for cross-wiring protection Echo the invocation ID received from RAPID on /next back on /response and /error, enabling RAPID to detect and reject stale responses from timed-out invocations. Fully backward compatible — header only sent when received. * test: assert the invocation ID reaches the wire The existing tests all patch runtime_client, so they verify Python-level argument threading but stop one layer above the behaviour. The header is emitted by libcurl inside the compiled extension. If aws-lambda-cpp-add-invocation-id.patch is dropped when the vendored tarball is re-rolled, every test still passes and the feature silently disappears. Add tests that drive the built extension against a stub RAPID on a real socket, asserting on raw received headers: round trip via /response, the /error path, and omission (no header at all, rather than an empty one). Verified by removing the curl_slist_append call and rebuilding — the new tests fail while the existing suite stays green. The client half runs as a subprocess because post_invocation_result and post_error hold the GIL across the blocking curl call, so an in-process stub server thread would never be scheduled to answer the POST. --------- Co-authored-by: Maxime David <maxday@amazon.com>
ci + chore(release): 4.0.1 and auto-create GitHub Release on version … …bump to main (#210) * chore(release): 4.0.1 Bump version to 4.0.1 and update changelog for the Alpine Linux 3.17+ (musl) build fix (#204). * ci: auto-create GitHub Release on version bump to main Adds a workflow that detects a change to __version__ in awslambdaric/__init__.py on main, then creates a tag and GitHub Release using notes from RELEASE.CHANGELOG.md. Skips if the release already exists.
PreviousNext

