fix(google-vertex): use per-instance auth token generator to avoid cache thrashing#14103
Open
Jah-yee wants to merge 1 commit intovercel:mainfrom
Open
fix(google-vertex): use per-instance auth token generator to avoid cache thrashing#14103Jah-yee wants to merge 1 commit intovercel:mainfrom
Jah-yee wants to merge 1 commit intovercel:mainfrom
Conversation
…che thrashing The previous module-level singleton used reference equality to detect options changes, which caused two issues: 1. Multiple provider instances with equivalent googleAuthOptions would thrash the singleton when alternating between them 2. Omitted googleAuthOptions would create a new empty object each call, causing unnecessary recreation This fix replaces the shared helper with a factory function that creates a per-instance auth token generator. Each provider instance now gets stable auth/client caching without requiring structural serialization. Closes vercel#14101
Contributor
There was a problem hiding this comment.
Additional Suggestions:
- Test file imports
_resetAuthInstancewhich was removed from the source module, causing the test to fail at import time.
- Anthropic vertex provider uses deprecated
generateAuthTokenwhich creates a newGoogleAuthinstance on every API request, causing a performance regression.
- Test mocks
generateAuthTokenbut production code now imports and usescreateAuthTokenGenerator, causing all tests to fail withcreateAuthTokenGenerator is not a function.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #14101
The previous module-level singleton used reference equality to detect
options changes, which caused two issues:
thrash the singleton when alternating between them
causing unnecessary recreation
This fix replaces the shared helper with a factory function that creates
a per-instance auth token generator. Each provider instance now gets
stable auth/client caching without requiring structural serialization.
Changes: