-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Handle all 429 as retryableQuotaError #15288
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
Summary of ChangesHello @sehoon38, 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 significantly improves the system's resilience against transient rate limiting by ensuring that all 429 'Too Many Requests' errors are treated as retryable. It introduces a default 5-second delay for 429 errors that do not specify a 'retry-in' period, preventing unnecessary request failures and enhancing the robustness of Google API interactions. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. 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.
Code Review
This pull request introduces a fallback mechanism to retry all 429 'Too Many Requests' errors with a default 5-second delay, improving resilience for transient rate limits. While this is a good improvement, the current implementation optimistically assumes all unclassified 429 errors are transient. I've identified a potential issue where this could lead to excessive retries for non-transient errors (like daily quota limits) that aren't reported with specific metadata. My review includes a suggestion to make the fallback logic more robust by checking for keywords that indicate a terminal error before deciding to retry.
|
Size Change: +675 B (0%) Total Size: 22 MB ℹ️ View Unchanged
|
|
/patch |
|
✅ Patch workflow(s) dispatched successfully! 📋 Details:
🔗 Track Progress: |
|
🚀 Patch PR Created! 📋 Patch Details:
📝 Next Steps:
🔗 Track Progress: |
|
🚀 Patch PR Created! 📋 Patch Details:
📝 Next Steps:
🔗 Track Progress: |
|
🚀 Patch Release Started! 📋 Release Details:
⏳ Status: The patch release is now running. You'll receive another update when it completes. 🔗 Track Progress: |
|
🚀 Patch Release Started! 📋 Release Details:
⏳ Status: The patch release is now running. You'll receive another update when it completes. 🔗 Track Progress: |
|
❌ Patch Release Failed! 📋 Details:
🔍 Next Steps:
🔗 Troubleshooting: |
|
✅ Patch Release Complete! 📦 Release Details:
🎉 Status: Your patch has been successfully released and published to npm! 📝 What's Available:
🔗 Links: |
|
✅ Patch Release Complete! 📦 Release Details:
🎉 Status: Your patch has been successfully released and published to npm! 📝 What's Available:
🔗 Links: |
Summary
This PR ensures that 429 Too Many Requests errors without explicit "retry-in" metadata are still retried. By defaulting to a 5-second delay, we improve system resilience against transient rate limits and prevent unnecessary request failures.
Details
Fallback Retry: Implements a 5-second cooldown via RetryableQuotaError when specific timing headers are missing. Aligns manual 429 handling with the existing DEFAULT_RETRY_OPTIONS duration.
Related Issues
How to Validate
Pre-Merge Checklist