-
Notifications
You must be signed in to change notification settings - Fork 35
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
Adds header to bifrost payloads #1520
Conversation
3223c89
to
8af59b4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Headers for bifrost payloads :-) LGTM. +1 for merging.
created_at: MillisSinceEpoch, | ||
// additional custom headers can be added here. Those should be somewhat | ||
// generic and values must be optional. | ||
pub custom_data_1: Option<u64>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this more of an example of how to add new fields or is custom_data_1
already used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, it's used by my perf. I might come back to this and give it a meaningful name, but I thought to keep it agnostic.
1bac118
to
8f8a640
Compare
This PR includes: - Attachment of PPM to cluster controller now use Networking - PPM observes partition processor status through a buffered watch mechanism - PPM can now send control messages (unused at this PR) to processor for future use. - PPM collects state information from running processors. This will be used in a follow PR to response to controller requests about partitions. Cluster controller grpc service is kept for external tooling integration (CLI, etc.)
ClusterState is a new data structure maintained by ClusterController. ClusterState is established by a scatter-gather request (GetProcessorsState) to all workers. For every worker, partition processor manager is the entity responsible for responding to GetProcessorsState requests, it keeps taps on running partition processors via a set of tokio watches. This PR is a snapshot in time of progress done on this component, this is far from complete but it's best to merge the current progress until we circle back to it in a week or two.
This also changes the loglet API to accept Bytes to avoid duplication of serialization across loglet implementations. This holds the current invariant that payloads are opaque to loglets.
Adds header to bifrost payloads
This also changes the loglet API to accept Bytes to avoid duplication of serialization across loglet implementations. This holds the current invariant that payloads are opaque to loglets.
Stack created with Sapling. Best reviewed with ReviewStack.