.NET: Use GrpcEntityRunner instead of TaskEntityDispatcher #2759
+16
−14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
Resolves #2327
Description
Durable agent framework pipeline was taking a dependency on the precise way the durable worker extension bootstrapped an entity invocation. With a recent change to the durable extension this no longer worked as that bootstrapping was deferred. This PR reduces that dependency by removing usage of
TaskEntityDispatcher(which is no longer setup by the time this executor runs) and instead usesGrpcEntityRunner.TaskEntityDispatcheris just a wrapper aroundGrpcEntityRunneranyways.Another reason reducing these bootstrapping dependencies is important is that it is inherently fragile. It requires the durable functions worker middleware run first, but there is nothing guaranteeing the middleware order between the extensions today. It works right now because durable tends to be configured from source gen auto-start hooks, but that is not set in stone that it will always work that way. For long term stability it will be better to decouple the durable agent's invocations from these implementation details of the durable function worker extension.
Contribution Checklist