-
Notifications
You must be signed in to change notification settings - Fork 21
add retry behavior for aws collector #92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR enhances the AWS collector's resilience by configuring the AWS SDK with adaptive retry logic and provides a template for custom retry settings, along with minor code formatting adjustments. Class diagram for updated AWS Services struct and config builderclassDiagram
class Services {
Region string
EC2 *ec2.Client
IAM *iam.Client
S3 *s3.Client
}
class buildConfigWithRegion {
+aws.Config
+error
}
Services --> buildConfigWithRegion
Flow diagram for AWS config creation with adaptive retryflowchart TD
A["Start config creation"] --> B["Set region, credentials, and logging"]
B --> C["Set retry mode to Adaptive"]
C --> D["Return aws.Config"]
File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary of ChangesHello @j3ttt, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces an adaptive retry mechanism for AWS SDK clients within the Go-based collector. The primary goal is to enhance the collector's robustness by automatically retrying AWS API calls that fail due to rate limiting or other transient issues, thereby preventing 'exceeded maximum number of attempts' errors and ensuring more reliable data collection. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request correctly implements an adaptive retry mode for the AWS client, which should help mitigate API rate limiting errors. The change is a good improvement. However, there is a block of commented-out code that appears to be from experimentation and should be removed to maintain code clarity.
Thank you for your contribution to CloudRec!
What About:
java)go)opa)Description:
Try to fix the 'exceeded maximum number of attempts' api limit error.
Using Adaptive retry mode for AWS client.
Summary by Sourcery
Enhancements: