Skip to content

Commit

Permalink
GetStreamingJobsStatus
Browse files Browse the repository at this point in the history
  • Loading branch information
CAJan93 committed Jul 22, 2024
1 parent 342ab25 commit 68c9a83
Showing 1 changed file with 29 additions and 24 deletions.
53 changes: 29 additions & 24 deletions proto/meta.proto
Original file line number Diff line number Diff line change
Expand Up @@ -90,25 +90,6 @@ message TableFragments {
// so we pre-generate and store it here, this member will only be initialized when creating the Fragment
// and modified when creating the mv-on-mv
repeated uint32 upstream_fragment_ids = 7;

// If a materialize view, sink, or table has a node_label, its actors can only be scheduled
// on compute nodes with that label.
// If it does not have a node_label (empty map or null value) it can be scheduled on any
// compute node without a label. The node has to have both a matching key and value.
// E.g. {"some":"value"} can be scheduled on a node with the labels
// {
// "other":"thing",
// "some":"value"
// }
// but {"some":"thing"} can not be scheduled on that node.
// A materialized view or sink or table with an empty node_labels map can only be scheduled on nodes with
// empty node_labels map.
// A node with an empty node_labels map can only host streaming jobs with an empty node_labels map.
map<string, string> node_labels = 101;

// If this is a materialized view: True if backfill is done, else false.
// If this is a regular table: Always true.
bool backfill_done = 102;
}
uint32 table_id = 1;
State state = 2;
Expand All @@ -118,6 +99,25 @@ message TableFragments {

stream_plan.StreamContext ctx = 6;
TableParallelism parallelism = 7;

// If a materialize view, sink, or table has a node_label, its actors can only be scheduled
// on compute nodes with that label.
// If it does not have a node_label (empty map or null value) it can be scheduled on any
// compute node without a label. The node has to have both a matching key and value.
// E.g. {"some":"value"} can be scheduled on a node with the labels
// {
// "other":"thing",
// "some":"value"
// }
// but {"some":"thing"} can not be scheduled on that node.
// A materialized view or sink or table with an empty node_labels map can only be scheduled on nodes with
// empty node_labels map.
// A node with an empty node_labels map can only host streaming jobs with an empty node_labels map.
map<string, string> node_labels = 101;

// If this is a materialized view: True if backfill is done, else false.
// If this is a regular table: Always true.
bool backfill_done = 102;
}

/// Parallel unit mapping with fragment id, used for notification.
Expand Down Expand Up @@ -580,19 +580,24 @@ message UpdateStreamingJobRequest {
// We do not need to add an explicit status field here, we can just use the RPC status
message UpdateStreamingJobResponse {}

message GetStreamingJobsRequest {}
message GetStreamingJobsStatusRequest {}

// Descriptions of MVs and sinks
message GetStreamingJobResponse {
repeated catalog.Table materialized_views = 1;
repeated catalog.Sink sinks = 2;
message GetStreamingJobsStatusResponse {
message Status {
uint32 table_id = 1;
map<string, string> node_labels = 2;
bool backfill_done = 3;
}

Status streaming_job_statuse = 1;

Check warning on line 593 in proto/meta.proto

View workflow job for this annotation

GitHub Actions / Spell Check with Typos

"statuse" should be "statutes".
}

service ScaleService {
rpc GetClusterInfo(GetClusterInfoRequest) returns (GetClusterInfoResponse);
rpc Reschedule(RescheduleRequest) returns (RescheduleResponse);
rpc UpdateStreamingJob(UpdateStreamingJobRequest) returns (UpdateStreamingJobResponse);
rpc GetStreamingJobs(GetStreamingJobsRequest) returns (GetStreamingJobResponse);
rpc GetStreamingJobsStatus(GetStreamingJobsStatusRequest) returns (GetStreamingJobsStatusResponse);
}

message MembersRequest {}
Expand Down

0 comments on commit 68c9a83

Please sign in to comment.