fix: ensure correct concurrent cancellation results#287
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 critical bug in concurrent task cancellation where the system failed to correctly identify cancellation errors due to an 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
|
There was a problem hiding this comment.
Code Review
This pull request addresses an issue with concurrent cancellations by correctly wrapping taskstore.ErrConcurrentModification, enabling proper error checking with errors.Is. This is a crucial fix for robust error handling in concurrent scenarios. The pull request also significantly enhances the test suite by introducing comprehensive end-to-end tests for various cancellation race conditions, supported by new, well-designed test helpers. Additionally, there's a nice simplification of the event subscription logic. Overall, this is a high-quality contribution that not only resolves the immediate issue but also strengthens the project's test infrastructure. I have one suggestion to further improve the robustness of a new test case.
🤖 I have created a release *beep* *boop* --- ## [2.0.1](v2.0.0...v2.0.1) (2026-03-24) ### Features * **a2acompat:** add HTTP+JSON REST support to a2av0 compat layer ([#280](#280)) ([bac00e7](bac00e7)) * agent executor cleaner ([#276](#276)) ([9c95980](9c95980)) ### Bug Fixes * ensure correct concurrent cancellation results ([#287](#287)) ([d0f8981](d0f8981)), closes [#245](#245) ### Documentation * **a2aclient:** add Example_* test functions for pkg.go.dev documentation ([#263](#263)) ([f8dae97](f8dae97)) * update diagrams, docs and instructions ([#289](#289)) ([ed33c7a](ed33c7a)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
the fix was not working for concurrent cancellations because
errors.Ischeck was not passing in the added logicre #245