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

Add ActivityInputConverter #2708

Merged
merged 2 commits into from
Jan 8, 2024
Merged

Add ActivityInputConverter #2708

merged 2 commits into from
Jan 8, 2024

Conversation

jviau
Copy link
Contributor

@jviau jviau commented Jan 4, 2024

This PR adds an explicit ActivityInputConverter to work around the default Functions converter we were relying on. Specifically, the default converter special cases a few types (such as string) which we do not want. Adding this converter also has the added benefit of ensuring consistency between orchestrations and activity deserialization.

Another change is to register DurableTaskClientConverter directly on DurableClientAttribute via InputConverterAttribute (this was not available when we first wrote this converter).

Issue describing the changes in this PR

resolves #2674

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation PR is ready to merge and referenced in pending_docs.md
  • 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
  • I have added all required tests (Unit tests, E2E tests)
  • My changes do not require any extra work to be leveraged by OutOfProc SDKs
    • Otherwise: That work is being tracked here: #issue_or_pr_in_each_sdk
  • My changes do not change the version of the WebJobs.Extensions.DurableTask package
    • Otherwise: major or minor version updates are reflected in /src/Worker.Extensions.DurableTask/AssemblyInfo.cs
  • My changes do not add EventIds to our EventSource logs
    • Otherwise: Ensure the EventIds are within the supported range in our existing Windows infrastructure. You may validate this with a deployed app's telemetry. You may also extend the range by completing a PR such as this one.
  • My changes should be added to v3.x branch.
    • Otherwise: This change only applies to Durable Functions v2.x and will not be merged to branch v3.x.

Copy link
Contributor

@davidmrdavid davidmrdavid left a comment

Choose a reason for hiding this comment

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

Looks good! Just leaving a small question

@davidmrdavid
Copy link
Contributor

@jviau: can we do a manual test to see if this is addressing this null-arg issue

@jviau
Copy link
Contributor Author

jviau commented Jan 5, 2024

@jviau Jacob Viau FTE: can we do a manual test to see if this is addressing this null-arg issue

Great point - tested it and made adjustments to handle this scenario.

@jviau jviau merged commit 86da162 into dev Jan 8, 2024
20 checks passed
@jviau jviau deleted the jviau/input-converters branch January 8, 2024 17:56
@prashantagrawalcrowe
Copy link

Currently, I am using Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.1.0, so I wanted to ask in which version this issue would be resolved?

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.

Quotes added around activity function string parameter in isolated mode
3 participants