-
Notifications
You must be signed in to change notification settings - Fork 17.1k
Improve BaseCoordinator interface to support pluggable communication channels #66838
Copy link
Copy link
Open
Labels
AIP-108: CoordinatorChange this to an 'area:' label after AIP acceptance.Change this to an 'area:' label after AIP acceptance.AIP-108: java-sdkChange this to an 'area:' label after AIP acceptance.Change this to an 'area:' label after AIP acceptance.area:corekind:featureFeature RequestsFeature Requestspriority:highHigh priority bug that should be patched quickly but does not require immediate new releaseHigh priority bug that should be patched quickly but does not require immediate new release
Metadata
Metadata
Assignees
Labels
AIP-108: CoordinatorChange this to an 'area:' label after AIP acceptance.Change this to an 'area:' label after AIP acceptance.AIP-108: java-sdkChange this to an 'area:' label after AIP acceptance.Change this to an 'area:' label after AIP acceptance.area:corekind:featureFeature RequestsFeature Requestspriority:highHigh priority bug that should be patched quickly but does not require immediate new releaseHigh priority bug that should be patched quickly but does not require immediate new release
Type
Fields
Give feedbackNo fields configured for issues without a type.
Projects
Status
In progress
Summary
The current
BaseCoordinatorinterface is tightly coupled to subprocess-based execution and socket communication (TCP or Unix Domain). As the coordinator pattern expands to support additional SDK implementations, the base interface should be abstract enough to accommodate alternative transport mechanisms without requiring subclasses to override low-level internals.Problem
BaseCoordinatorexposes implementation details specific to subprocess + socket IPCProposed Changes
BaseCoordinator's public interface so that communication channel and process launching are not assumedDagFileParsingRequestand returning aDagFileParsingResponse) rather than prescribing how those operations are carried out underneathJavaCoordinatorremain free to use subprocesses and sockets internallyAcceptance Criteria
BaseCoordinatorpublic interface makes no assumptions about transport (sockets, shared memory, etc.) or process model (subprocess vs. in-process)JavaCoordinatorand Go SDK coordinator behavior is preservedBaseCoordinatorwithout workaroundsDrafted-by: Claude Code (Opus 4.7); reviewed by @jason810496 before posting