Skip to content

Fix retry handling in Error_handling nb#1093

Open
Rahul-Lashkari wants to merge 1 commit intogoogle-gemini:mainfrom
Rahul-Lashkari:fix/1091-error-handling
Open

Fix retry handling in Error_handling nb#1093
Rahul-Lashkari wants to merge 1 commit intogoogle-gemini:mainfrom
Rahul-Lashkari:fix/1091-error-handling

Conversation

@Rahul-Lashkari
Copy link
Contributor

Closes #1091.

  • Add a genai-aware retry predicate
  • Update tests to raise google.genai.errors.ServerError
  • Document HttpRetryOptions as the recommended retry mechanism
  • nbfmt and lint checked

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions github-actions bot added status:awaiting review PR awaiting review from a maintainer component:quickstarts Issues/PR referencing quickstarts folder labels Jan 1, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Rahul-Lashkari, 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 refines the error handling notebook to provide more accurate and effective retry mechanisms specifically tailored for the google-genai library. It clarifies the recommended approach for configuring automatic retries using HttpRetryOptions and ensures that custom retry logic correctly identifies and handles google-genai's specific error types, improving the reliability of API calls.

Highlights

  • GenAI-aware Retry Predicate: A custom predicate (if_genai_transient_error) has been introduced to correctly identify and handle google-genai specific errors (e.g., APIError, ServerError) within retry logic, ensuring more robust error handling.
  • Recommended HttpRetryOptions: The notebook now documents and demonstrates HttpRetryOptions as the recommended built-in mechanism for configuring automatic retries directly on google-genai clients, simplifying retry setup.
  • Updated Error Simulation: The error handling test has been updated to simulate google.genai.errors.ServerError (a 5xx error) instead of google.api_core.exceptions.ServiceUnavailable, aligning the test with the actual error types raised by the google-genai library.

🧠 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 Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 does a great job of updating the retry logic in the Error_handling.ipynb notebook to be compatible with the google-genai SDK. The changes correctly replace the outdated error types and predicates, and the documentation is improved to recommend the preferred HttpRetryOptions method. This makes the notebook more accurate and useful. I have a couple of minor suggestions related to notebook formatting and a dependency issue visible in an output cell.

{
"cell_type": "code",
"execution_count": null,
"execution_count": 1,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The execution_count for this cell is not null. According to the repository's style guide, this indicates that the notebook formatting script has not been run. Please run the formatting script to reset the execution counts to null before merging. This should be done for all cells in the notebook.

References
  1. If the execution_count has changed to something else than null, it usually indicates that the formatting script has not been run. A warning should be raised, but only once per notebook. Be very clear that it means that the formatting script must be run, not that the outputs should be removed. (link)

}
],
"source": [
"%pip install -q -U \"google-genai>=1.0.0\""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The output for this cell shows a pip dependency conflict: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. google-colab 1.0.0 requires google-auth==2.43.0, but you have google-auth 2.45.0 which is incompatible.

While this might be an issue with the Colab environment, it could cause confusion or issues for users. It would be best to investigate and resolve this to ensure the notebook runs smoothly for everyone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component:quickstarts Issues/PR referencing quickstarts folder status:awaiting review PR awaiting review from a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error_handling.ipynb: retry.if_transient_error doesn't catch google-genai errors

1 participant