RT-1.51: Fix test hang by replacing gnmi.Get with gnmi.Lookup in Watch callback#5350
RT-1.51: Fix test hang by replacing gnmi.Get with gnmi.Lookup in Watch callback#5350jjw-a-0617 wants to merge 1 commit into
Conversation
Summary of ChangesHello, 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 addresses a test hang issue in the BGP multipath ECMP test suite. By switching from a strict retrieval method to a lookup-based approach within the Watch callback, the test now correctly handles missing data scenarios without triggering a fatal error that would otherwise block the execution flow. 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. Footnotes
|
Pull Request Functional Test Report for #5350 / 3459f3cVirtual Devices
Hardware Devices
|
There was a problem hiding this comment.
Code Review
This pull request updates the BGP multipath ECMP test to use gnmi.Lookup instead of gnmi.Get when retrieving next-hop group information. This change introduces explicit checks for the presence of the next-hop group, improving error handling by returning early or logging a specific error message when the data is missing. I have no feedback to provide.
…h callback gnmi.Get inside a Watch callback calls t.Fatal on missing data, which kills the Watch goroutine and leaves Await() blocked forever. Use gnmi.Lookup instead so a missing NHG returns false rather than fataling.
gnmi.Get inside a Watch callback calls t.Fatal on missing data, which kills the Watch goroutine and leaves Await() blocked forever.
Use gnmi.Lookup instead so a missing NHG returns false rather than fataling.