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

Isolate ClientManager in the streaming gRPC stack #1635

Merged
merged 2 commits into from
Feb 5, 2023
Merged

Conversation

danieljanes
Copy link
Member

With this PR, the Driver API dependency on the ClientManager is dropped. Going forward, the streaming gRPC stack is the only component that relies on ClientManager, other transport stacks (e.g. REST) will be able to run without it.

The dependency on ClientManager is dropped by keeping a record about available client nodes (node IDs) in the DriverState (instead of having the DriverServicer read this directly from the DriverClientManager). Other transport stacks (e.g., REST) will be able to register client nodes with the DriverState in the same way.

Disentangling Driver API (DriverServicer) and DriverClientManager is an important step to eventually have Driver API and Fleet API run in different processes, maybe even on different machines.

@tanertopal tanertopal merged commit 7a88d69 into main Feb 5, 2023
@tanertopal tanertopal deleted the isolate-cm branch February 5, 2023 01:40
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