You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
durabletask-go has no Durable Entities support today. The task registry takes only orchestrators and activities, the work item dispatch loop drops entity work items as an unknown type, and the backend, gRPC executor, and clients have no entity methods. The shared protobuf contract already carries every entity message the other SDKs use, so this is unimplemented surface in this SDK rather than a protocol gap.
This tracks adding entities end to end. It uses Microsoft.DurableTask (durabletask-dotnet) as the reference since it already ships the full feature on the same gRPC contract.
Downstream workers need it. The Azure Functions Go worker sequences entity support as its last durable phase and is blocked on entity primitives landing here first. Dapr Workflow is in the same position.
What exists today
Protos already define SignalEntity, GetEntity, QueryEntities, CleanEntityStorage, EntityBatchRequest, EntityBatchResult, WorkItem.EntityRequest, and the entity history and lock events.
Nothing consumes them. TaskRegistry has AddOrchestrator and AddActivity only, StartWorkItemListener handles orchestrator and activity requests and logs everything else as an unknown work item, and grpcExecutor returns Unimplemented for the entity RPCs.
Work breakdown
Entities land as one foundational sub issue plus one sub issue per capability in the feature matrix. The foundation carries the entity runtime that the rest build on. The capability sub issues stay focused on the user facing surface. The sub issues are tracked on this item.
Reference
Microsoft.DurableTask implements all of the above on the same protobuf contract. The types to mirror are DurableTaskRegistry.AddEntity, ITaskEntity and TaskEntity<TState>, TaskEntityContext, TaskEntityOperation, TaskOrchestrationEntityFeature for the orchestration side, and DurableEntityClient for the client side.
Summary
durabletask-go has no Durable Entities support today. The
taskregistry takes only orchestrators and activities, the work item dispatch loop drops entity work items as an unknown type, and the backend, gRPC executor, and clients have no entity methods. The shared protobuf contract already carries every entity message the other SDKs use, so this is unimplemented surface in this SDK rather than a protocol gap.This tracks adding entities end to end. It uses
Microsoft.DurableTask(durabletask-dotnet) as the reference since it already ships the full feature on the same gRPC contract.Motivation
What exists today
SignalEntity,GetEntity,QueryEntities,CleanEntityStorage,EntityBatchRequest,EntityBatchResult,WorkItem.EntityRequest, and the entity history and lock events.TaskRegistryhasAddOrchestratorandAddActivityonly,StartWorkItemListenerhandles orchestrator and activity requests and logs everything else as an unknown work item, andgrpcExecutorreturnsUnimplementedfor the entity RPCs.Work breakdown
Entities land as one foundational sub issue plus one sub issue per capability in the feature matrix. The foundation carries the entity runtime that the rest build on. The capability sub issues stay focused on the user facing surface. The sub issues are tracked on this item.
Reference
Microsoft.DurableTaskimplements all of the above on the same protobuf contract. The types to mirror areDurableTaskRegistry.AddEntity,ITaskEntityandTaskEntity<TState>,TaskEntityContext,TaskEntityOperation,TaskOrchestrationEntityFeaturefor the orchestration side, andDurableEntityClientfor the client side.Sub issues