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 gRPC support for communicating orchestration aborted status from worker to host #2925

Open
andystaples opened this issue Oct 3, 2024 · 0 comments
Labels
Enhancement Feature requests. out-of-proc Impacts non-.NET languages (e.g. JavaScript, Python, or PowerShell) which execute out-of-process

Comments

@andystaples
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Currently, the out-of-process workers have no way to communicate to the host if/when the execution of orchestration has failed for a "Retryable" reason and the current execution should be aborted and retried.
This PR adds .NET out-of-process support for retries based on specific exception types (Out of Memory, to start): but this does not solve the problem for other out-of-process languages and is not in keeping with the design of the Durable extensions.
After internal discussion, the best approach seems to be allowing the worker extension to communicate the need for retry over gRPC to the WebJobs extension.

Are there any existing GitHub discussions or issues filed that help give some context to this proposal?
See the previously linked PR, and the discussion here #2788

Describe the solution you'd like
Add gRPC support for communicating orchestration abort/retry

Describe alternatives you've considered
Other proposals include:

  • Maintain the current logic from the above PR, adding new exception types and failure modes manually as "retry" failure types in the host. High maintenance cost, does not align with the design pattern
  • Add a OrchestrationStatus type or orchestrator action to be returned by the workers during this case. This becomes unnecessarily visible to customers.

Additional context
Add any other context or screenshots about the feature request here.

@davidmrdavid davidmrdavid added Enhancement Feature requests. and removed Needs: Triage 🔍 labels Oct 3, 2024
@lilyjma lilyjma added the out-of-proc Impacts non-.NET languages (e.g. JavaScript, Python, or PowerShell) which execute out-of-process label Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Feature requests. out-of-proc Impacts non-.NET languages (e.g. JavaScript, Python, or PowerShell) which execute out-of-process
Projects
None yet
Development

No branches or pull requests

3 participants