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

Allow worker to read results directly from the external SDK #777

Merged
merged 5 commits into from
Mar 17, 2022

Conversation

michaelpeng36
Copy link
Contributor

Issue describing the changes in this PR

Allows the worker to read orchestration results directly from the Hashtable resulting from the external SDK invocation. Removes the need to pass the SetResult function to the Set-FunctionInvocationContext command.

Pull request checklist

  • 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

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.

Thank you for this change, it looks good to me after fixing one final edge case (see my last commit)

@davidmrdavid davidmrdavid merged commit f69b146 into df-worker-and-sdk Mar 17, 2022
@davidmrdavid davidmrdavid deleted the michaelpeng/read-hashtable branch March 17, 2022 17:22
davidmrdavid pushed a commit that referenced this pull request Apr 7, 2022
fix typo

DurableSDK now compiles by itself

Allow ExternalSDK to handle orchestration

document next steps

allow external SDK to set the user-code's input. Still need to refactor this logic for the worker to continue working with old SDK

add import module

supress traces

avoid nullptr

pass tests

fix E2E tests

develop E2E tests

Enabled external durable client (#765)

Co-authored-by: Michael Peng <[email protected]>

bindings work

conditional binding intialization

conditional import

Added exception handling logic

Revert durableController name to durableFunctionsUtils

Ensure unit tests are functioning properly

Corrected unit test names

Turned repeated variables in unit tests into static members

Fixed issue with building the worker

Fix E2E test

Fixed unit test setup

Fixed another unit test setup

Remove string representation of booleans

patch e2e test

remove typo in toString

Update PowerShell language worker pipelines (#750)

* Install .Net to a global location

* Remove .Net installation tasks

* Update install .Net 6 task

* Update Windows image to use windows-latest

Make throughput warning message visible for tooling diagnosis (#757)

Update grpc.tools to version 2.43.0

Update Google.Protobuf.Tools to version 3.19.4

Revert "Update Google.Protobuf.Tools to version 3.19.4"

This reverts commit bcbd022.

Revert "Update grpc.tools to version 2.43.0"

This reverts commit ccb323a.

Update Google.Protobuf to 3.19.4 and grpc.tools to  2.43.0 (#762)

* Update grpc.tools to version 2.43.0

* Update Google.Protobuf.Tools to version 3.19.4

Switch from Grpc.Core to Grpc.Net.Client (#758)

* Upgraded protobuf versions and removed Grpc.Core dependency

* Updated channel and option types used

* Change channel credentials

* Added http prefix to url

* Add valid URL check and explicitly include credentials

Update pipeline logic to generate the SBOM for release builds (#767)

Return results from Start-DurableExternalEventListener (#685) (#753)

Co-authored-by: Greg Roll <[email protected]>

add e2e test for GetTaskResult

parametrize test

patch new e2e test

patch external contrib

fix typo in test

comment changes

Adds IExternalInvoker (#776)

* Define a contract for the external invoker

* Remove extraneous comments and variables

rename hasOrchestrationContext to hasInitializedDurableFunction

remove outdated TODO comment

remove now unused function - CreateOrchestrationBindingInfo

Allow worker to read results directly from the external SDK (#777)

comment out external SDK path
davidmrdavid added a commit that referenced this pull request Apr 7, 2022
fix typo

DurableSDK now compiles by itself

Allow ExternalSDK to handle orchestration

document next steps

allow external SDK to set the user-code's input. Still need to refactor this logic for the worker to continue working with old SDK

add import module

supress traces

avoid nullptr

pass tests

fix E2E tests

develop E2E tests

Enabled external durable client (#765)

Co-authored-by: Michael Peng <[email protected]>

bindings work

conditional binding intialization

conditional import

Added exception handling logic

Revert durableController name to durableFunctionsUtils

Ensure unit tests are functioning properly

Corrected unit test names

Turned repeated variables in unit tests into static members

Fixed issue with building the worker

Fix E2E test

Fixed unit test setup

Fixed another unit test setup

Remove string representation of booleans

patch e2e test

remove typo in toString

Update PowerShell language worker pipelines (#750)

* Install .Net to a global location

* Remove .Net installation tasks

* Update install .Net 6 task

* Update Windows image to use windows-latest

Make throughput warning message visible for tooling diagnosis (#757)

Update grpc.tools to version 2.43.0

Update Google.Protobuf.Tools to version 3.19.4

Revert "Update Google.Protobuf.Tools to version 3.19.4"

This reverts commit bcbd022.

Revert "Update grpc.tools to version 2.43.0"

This reverts commit ccb323a.

Update Google.Protobuf to 3.19.4 and grpc.tools to  2.43.0 (#762)

* Update grpc.tools to version 2.43.0

* Update Google.Protobuf.Tools to version 3.19.4

Switch from Grpc.Core to Grpc.Net.Client (#758)

* Upgraded protobuf versions and removed Grpc.Core dependency

* Updated channel and option types used

* Change channel credentials

* Added http prefix to url

* Add valid URL check and explicitly include credentials

Update pipeline logic to generate the SBOM for release builds (#767)

separate DF SDK classes from DF worker classes

fix typo

DurableSDK now compiles by itself

Allow ExternalSDK to handle orchestration

document next steps

allow external SDK to set the user-code's input. Still need to refactor this logic for the worker to continue working with old SDK

add import module

supress traces

avoid nullptr

pass tests

fix E2E tests

develop E2E tests

Enabled external durable client (#765)

Co-authored-by: Michael Peng <[email protected]>

bindings work

conditional binding intialization

conditional import

Added exception handling logic

Revert durableController name to durableFunctionsUtils

Ensure unit tests are functioning properly

Corrected unit test names

Turned repeated variables in unit tests into static members

Fixed issue with building the worker

Fix E2E test

Fixed unit test setup

Fixed another unit test setup

Remove string representation of booleans

patch e2e test

remove typo in toString

Update PowerShell language worker pipelines (#750)

* Install .Net to a global location

* Remove .Net installation tasks

* Update install .Net 6 task

* Update Windows image to use windows-latest

Make throughput warning message visible for tooling diagnosis (#757)

Update grpc.tools to version 2.43.0

Update Google.Protobuf.Tools to version 3.19.4

Revert "Update Google.Protobuf.Tools to version 3.19.4"

This reverts commit bcbd022.

Revert "Update grpc.tools to version 2.43.0"

This reverts commit ccb323a.

Update Google.Protobuf to 3.19.4 and grpc.tools to  2.43.0 (#762)

* Update grpc.tools to version 2.43.0

* Update Google.Protobuf.Tools to version 3.19.4

Switch from Grpc.Core to Grpc.Net.Client (#758)

* Upgraded protobuf versions and removed Grpc.Core dependency

* Updated channel and option types used

* Change channel credentials

* Added http prefix to url

* Add valid URL check and explicitly include credentials

Update pipeline logic to generate the SBOM for release builds (#767)

Return results from Start-DurableExternalEventListener (#685) (#753)

Co-authored-by: Greg Roll <[email protected]>

add e2e test for GetTaskResult

parametrize test

patch new e2e test

patch external contrib

fix typo in test

comment changes

Adds IExternalInvoker (#776)

* Define a contract for the external invoker

* Remove extraneous comments and variables

rename hasOrchestrationContext to hasInitializedDurableFunction

remove outdated TODO comment

remove now unused function - CreateOrchestrationBindingInfo

Allow worker to read results directly from the external SDK (#777)

comment out external SDK path
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.

2 participants