Skip to content

Conversation

jviau
Copy link
Contributor

@jviau jviau commented Jul 9, 2024

Issue describing the changes in this PR

resolves #10271

Pull request checklist

IMPORTANT: Currently, changes must be backported to the in-proc branch to be included in Core Tools and non-Flex deployments.

  • Backporting to the in-proc branch is not required
    • Otherwise: Link to backporting PR
  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • My changes do not require diagnostic events changes
    • Otherwise: I have added/updated all related diagnostic events and their documentation (Documentation issue linked to PR)
  • I have added all required tests (Unit tests, E2E tests)

Additional information

This PR addresses a breaking change in .NET 8 DI which impacts Netherite. Specifically, ActivatorUtilitiesConstructorAttribute no longer workers as expected, leading to an ambiguous constructor exception when trying to resolve NetheriteProviderFactory. The Netherite package has addressed this issue in a later version, but we are concerned about impact for customers not on latest netherite package. This PR aims to address that by looking for this impacted type and replacing the service descriptor with one explicitly targeting the preferred ctor.

@jviau jviau requested a review from a team as a code owner July 9, 2024 19:15
@jviau jviau requested review from fabiocav and davidmrdavid July 9, 2024 19:15
Copy link
Member

@fabiocav fabiocav left a comment

Choose a reason for hiding this comment

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

Thanks, @jviau !

One small question: can we emit a log when we apply the shim here? Would be good to have a way to track how often this is happening.

@jviau jviau force-pushed the jviau/netherite-di-shim branch from 0def285 to 525eb0e Compare July 9, 2024 22:30
@kshyju
Copy link
Member

kshyju commented Jul 17, 2024

The release notes changes are missing.

@fabiocav fabiocav merged commit b691e04 into dev Jul 17, 2024
@fabiocav fabiocav deleted the jviau/netherite-di-shim branch July 17, 2024 02:15
jviau added a commit that referenced this pull request Jul 17, 2024
@jviau jviau mentioned this pull request Jul 17, 2024
9 tasks
@jviau
Copy link
Contributor Author

jviau commented Jul 17, 2024

The release notes changes are missing.

Adding them here: #10297

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.

OOP host should must be compatible with older versions of Durable Functions
3 participants