Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/9.0] Caching SERedis critical bugfix; defer HC metadata detection because of DI cycle #60916

Open
wants to merge 1 commit into
base: release/9.0
Choose a base branch
from

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Mar 13, 2025

Backport of #60915 to release/9.0

/cc @mgravell

Caching SERedis critical bugfix; defer HC metadata detection because of DI cycle

Fix DI loop in metadata discovery - interaction between two components

Description

Unfortunately because the two components are in different repos, a fake was used to "prove" the setup here; this fake did not fully reproduce the DI demands, hance a cyclic interaction was not discovered. The test has been updated to reflect the real DI setup, and the code reworked.

Fixes #60894

Customer Impact

Attempts to use AddHybridCache() and AddStackExchangeRedis() together can cause DI to loop infinitely or until stack-overflow.

Regression?

  • Yes - from 9.0.2
  • No

Risk

  • High
  • Medium
  • Low

Change is simple DI restructure only; no complex logic post construction, which is validated in tests.

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

When servicing release/2.1

  • Make necessary changes in eng/PatchConfig.props

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions label Mar 13, 2025
@dotnet-policy-service dotnet-policy-service bot added this to the 9.0.x milestone Mar 13, 2025
@mgravell mgravell added Servicing-consider Shiproom approval is required for the issue feature-caching Includes: StackExchangeRedis and SqlServer distributed caches labels Mar 13, 2025
Copy link
Contributor

Hi @github-actions[bot]. Please make sure you've updated the PR description to use the Shiproom Template. Also, make sure this PR is not marked as a draft and is ready-to-merge.

To learn more about how to prepare a servicing PR click here.

Copy link
Contributor

Looks like this PR hasn't been active for some time and the codebase could have been changed in the meantime.
To make sure no conflicting changes have occurred, please rerun validation before merging. You can do this by leaving an /azp run comment here (requires commit rights), or by simply closing and reopening.

@dotnet-policy-service dotnet-policy-service bot added the pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun label Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions feature-caching Includes: StackExchangeRedis and SqlServer distributed caches pending-ci-rerun When assigned to a PR indicates that the CI checks should be rerun Servicing-consider Shiproom approval is required for the issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants