Skip to content

Conversation

@laileni-aws
Copy link
Contributor

@laileni-aws laileni-aws commented Nov 14, 2025

Problem

  • There was a significant increase in call volume for the sso-oidc CreateToken operation from AmazonQ-For-VSCode clients.

Solution

  • The root cause was identified as a race condition in concurrent asynchronous token refresh operations within the VSCode extension. When bearer tokens expired (after 1 hour), multiple simultaneous calls to getToken() independently triggered token refresh operations, resulting in duplicate OIDC API calls.
  • Implemented a "promise deduplication" pattern to prevent duplicate async OIDC calls.

  • Treat all work as PUBLIC. Private feature/x branches will not be squash-merged at release time.
  • Your code changes must meet the guidelines in CONTRIBUTING.md.
  • License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@github-actions
Copy link

  • This pull request modifies code in src/* but no tests were added/updated.
    • Confirm whether tests should be added or ensure the PR description explains why tests are not required.
  • This pull request implements a feat or fix, so it must include a changelog entry (unless the fix is for an unreleased feature). Review the changelog guidelines.
    • Note: beta or "experiment" features that have active users should announce fixes in the changelog.
    • If this is not a feature or fix, use an appropriate type from the title guidelines. For example, telemetry-only changes should use the telemetry type.

@laileni-aws laileni-aws marked this pull request as ready for review November 17, 2025 19:54
@laileni-aws laileni-aws requested a review from a team as a code owner November 17, 2025 19:54
)

if (!data || !isExpired(data.token)) {
getLogger().debug(`getToken: token is valid, returning cached token (key=${this.tokenCacheKey})`)
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: let's add a topic for this logger

Copy link
Contributor

@rli rli left a comment

Choose a reason for hiding this comment

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

please follow up with test if possible

@laileni-aws laileni-aws merged commit 182103f into aws:master Nov 19, 2025
45 of 46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants