Upgrade all AWSO related Lambda functions to Nodejs 24 and Python v3.14.0#229
Upgrade all AWSO related Lambda functions to Nodejs 24 and Python v3.14.0#229akhil-sumologic wants to merge 4 commits intofy27q1from
Conversation
There was a problem hiding this comment.
Pull request overview
Upgrades selected AWS Observability-related Lambda functions/templates to newer Node.js and Python runtimes, with a small refactor of the log group connector handler and updated packaged artifact references.
Changes:
- Update Python Lambda runtimes from
python3.13topython3.14in Sumo App Utils and Auto-Enable S3 Logging templates. - Update Log Group Connector Lambda runtimes from
nodejs22.xtonodejs24.xand refactor the handler away from the callback pattern. - Refresh packaged template artifact locations (S3 CodeUri hashes/versions) and bump the Auto-Enable S3 Logging app semantic version.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| sumologic-app-utils/sumo_app_utils.yaml | Updates Lambda runtime to python3.14. |
| sumologic-app-utils/packaged_sumo_app_utils.yaml | Updates packaged SAR template runtime to python3.14. |
| loggroup-lambda-connector/src/loggroup-lambda-connector.js | Refactors handler to async-return style; changes error handling behavior. |
| loggroup-lambda-connector/sam/template.yaml | Updates Node.js runtime to nodejs24.x for both functions in the app template. |
| loggroup-lambda-connector/sam/packaged.yaml | Updates packaged SAR template runtime to nodejs24.x and refreshes CodeUri hash. |
| awsautoenableS3Logging/sumologic-s3-logging-auto-enable.yaml | Bumps app version and updates runtime to python3.14 + app-utils CodeUri. |
| awsautoenableS3Logging/packaged.yaml | Mirrors version/runtime/CodeUri updates in the packaged SAR template. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| function errorHandler(err, msg) { | ||
| if (err) { | ||
| console.log(err, msg); | ||
| callback(err); | ||
| } else { | ||
| callback(null, "Success"); | ||
| } | ||
| } | ||
| if (!process.env.LOG_GROUP_PATTERN || process.env.LOG_GROUP_PATTERN.trim().length === 0) { | ||
| console.warn("LOG_GROUP_PATTERN is empty, it will subscribe to all loggroups"); | ||
| } | ||
| if (event.existingLogs == "true") { | ||
| await processExistingLogGroups(context, event.token, additionalArgs, errorHandler); | ||
| } else { | ||
| await processEvents(process.env, event, additionalArgs, errorHandler); | ||
| console.error(msg, err); | ||
| throw err; | ||
| } |
There was a problem hiding this comment.
errorHandler now throws on error, but processEvents calls errorHandler(err, ...) before checking for throttling and retrying. This makes the retry path unreachable (the throw short-circuits the rest of the catch block). Consider moving the throttling retry logic ahead of calling errorHandler, or make errorHandler not throw for retryable errors so exponential backoff still works.
No description provided.