-
Notifications
You must be signed in to change notification settings - Fork 273
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
Adding Storage Backend Selection in host.json #1702
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Just a few nitpicks from my POV.
src/WebJobs.Extensions.DurableTask/AzureStorageDurabilityProviderFactory.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few nits, but overall looks great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. Just a couple non-blocking comments.
src/WebJobs.Extensions.DurableTask/AzureStorageDurabilityProviderFactory.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the current tests need some tweaking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR content is solid at this point! Just address some of the stylistic and naming suggestions before merging.
These changes allow customers to configure which storage backend they want their app to use (e.g. Azure Storage, MicrosoftSQL, or Netherite) with a new
type
attribute underdurableTask/storageProvider
in host.json (example below). The extension will register all storage backend services and then choose which one to use in theDurableTaskExtension
constructor. Adding the ability to register all backends and then choose a storage backend allows us to deploy all storage backend packages through extension bundles.The main changes in this PR are allowing the extension to register a collection of services through dependency injection, adding a
Name
property inIDurabilityProviderFactory
, and choosing theDurabilityProvider
by comparing a customers configuredtype
with theName
property in the availableIDurabilityProviderFactory
implementations.Resolves #1666
Pull request checklist
pending_docs.md
release_notes.md