Conversation
There was a problem hiding this comment.
Pull request overview
This release introduces AWS CloudWatch streaming capabilities, replacing the previous polling mechanism with a continuous log stream approach. The update adds configurable log group support and removes extensive event filtering logic.
- Replaced time-window polling with real-time log streaming
- Added configurable AWS log group name parameter
- Removed 140+ event drop filters from aws.yml
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 |
|---|---|
| plugins/aws/main.go | Refactored from periodic polling to continuous streaming; added log group configuration |
| filters/aws/aws.yml | Removed extensive event filtering rules (140+ drop statements) |
| backend/src/main/resources/config/liquibase/master.xml | Added references to new AWS integration migration files |
| backend/src/main/resources/config/liquibase/changelog/20260107002_update_filter_aws_integration.xml | Updated filter configuration in database |
| backend/src/main/resources/config/liquibase/changelog/20260107001_add_log_group_name_aws_integration.xml | Added log group name configuration to module settings |
| backend/src/main/java/com/park/utmstack/domain/application_modules/factory/impl/ModuleAwsIamUser.java | Added log group name configuration key |
| CHANGELOG.md | Updated version to 11.1.8 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }(grp) | ||
| } | ||
| wg.Wait() | ||
| break |
There was a problem hiding this comment.
The break statement exits only the for loop, not the outer loop at line 44. This causes the code to continue processing repeatedly even after initialization. Use return or a labeled break to properly exit the initialization loop.
|
|
||
| page, err := paginator.NextPage(ctx) | ||
| if err != nil { | ||
| cancel() |
There was a problem hiding this comment.
The context cancel is called inside the error path but not in the success path within the pagination loop. This can lead to context leaks. Move the defer cancel() inside the loop or ensure cancel() is called in all paths.
There was a problem hiding this comment.
entonces en la linea 198 estamos llamando a la luna?
| "logGroup": agent.LogGroup, | ||
| "logStream": stream, | ||
| }) | ||
| go streamLogStream(cwl, agent.LogGroup, stream, startTime, group.GroupName) |
There was a problem hiding this comment.
Unbounded goroutine creation for each log stream without coordination or limits could lead to resource exhaustion if there are many streams. Consider using a worker pool pattern or semaphore to limit concurrent stream processors.
| - rename: | ||
| from: | ||
| - log.requestParameters.bucketName | ||
| to: log.userIdentityAccesrequestParametersBucketNamesKeyId |
There was a problem hiding this comment.
Corrected field name from 'userIdentityAccesrequestParametersBucketNamesKeyId' to 'requestParametersBucketName'.
| to: log.userIdentityAccesrequestParametersBucketNamesKeyId | |
| to: log.requestParametersBucketName |
PLEASE READ BEFORE CONTINUING
To help us understand your contribution, please include the following in your pull request: