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

feat(storage): basic compactor scheduler policy #6986

Merged
merged 59 commits into from
Mar 20, 2023
Merged
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
0e27812
chore(storage): copy scale-compactor
Li0k Dec 12, 2022
58749e6
fix(storage): fix compile
Li0k Dec 12, 2022
3b10151
feat(storage): introduce process_local
Li0k Dec 12, 2022
f42e1cf
feat(storage): limit scheduler based on cpu workload
Li0k Dec 13, 2022
4530531
fix(storage): fix next idle compactor
Li0k Dec 13, 2022
555cbec
fix(storage): fix endless loop when no compactor
Li0k Dec 16, 2022
86baf2b
fix(storage): fix try_update_state
Li0k Dec 16, 2022
f4fddb1
feat(storage): support task reject on compactor side
Li0k Dec 20, 2022
6bc3f31
fix(storage): fix compile
Li0k Dec 20, 2022
8815279
fix(storage): fix waiting_compaction_bytes
Li0k Dec 22, 2022
5a73c46
fix(storage): fix pre_process_task
Li0k Dec 22, 2022
72c56ed
fix(storage): fix suggest_scale_policy at least 1 compactor
Li0k Dec 22, 2022
1b52187
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Feb 1, 2023
bbcb2b7
fix(grafana): fix grafana
Li0k Feb 1, 2023
61a8840
chore(storage): Removing some optimizations that may interfere with t…
Li0k Feb 1, 2023
53c1b1e
fix(storage): fix unit-test
Li0k Feb 1, 2023
aacefa1
fix(storage): fix try_update_state
Li0k Feb 1, 2023
fad126b
chore(storage): remove redundent code
Li0k Feb 22, 2023
1e600b2
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Feb 22, 2023
23ad696
fix(storage): fix grafana
Li0k Feb 22, 2023
86e021a
fix(storage): fix merge
Li0k Feb 22, 2023
71c825d
fix(storage): fix license
Li0k Feb 22, 2023
120807c
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Feb 28, 2023
a79847e
chore(grafana): remove redundent code
Li0k Feb 28, 2023
d3b8ebe
fix(storage): remove redundent code
Li0k Feb 28, 2023
8691100
feat(storage): introduce sysinfo for cpu_usage
Li0k Feb 28, 2023
1321dfb
refactor: use APPEND ONLY to replace WITH (appendonly = true) & only …
yuhao-su Feb 28, 2023
68e2a61
chore(test): separate optimized logical plan for planner test (#8227)
chenzl25 Feb 28, 2023
12b7be5
feat(memory): introduce memory control policy for computing tasks (#7…
xx01cyx Feb 28, 2023
470a15d
feat(frontend): add shrink cast for condition.split_to_scan_ranges() …
ZENOTME Feb 28, 2023
e1698bd
chore(deps): bump tempfile to fix security issue (#8230)
yuhao-su Feb 28, 2023
235af6e
feat: materialize executor support ignore conflict behavior (#8148)
wcy-fdu Feb 28, 2023
e87477b
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Feb 28, 2023
277ebc7
chore(grafana): update grafana
Li0k Feb 28, 2023
c6c7a03
chore(storage): remove redundent code
Li0k Feb 28, 2023
bbcef50
fix(storage): fix comments
Li0k Mar 1, 2023
944b0bf
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Mar 1, 2023
c965842
fix(storage): fix madsim
Li0k Mar 1, 2023
f6c0f04
fix(storage): adjust report scale compactor info
Li0k Mar 1, 2023
3b071a4
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Mar 1, 2023
712287a
chore(storage): update dashboard
Li0k Mar 1, 2023
4460c38
feat(storage): introduce cpu_core for task_limit and scale info
Li0k Mar 2, 2023
4f0be07
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Mar 2, 2023
abe2015
chore(dashboard): update dashboard
Li0k Mar 2, 2023
d14b30f
fix(storage): reduce log and fix total_cpu_num
Li0k Mar 9, 2023
dcd500f
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Mar 9, 2023
2587239
fix(storage): fix compactor worload cpu
Li0k Mar 10, 2023
ef66a40
feat(storage): compactor scaling config
Li0k Mar 10, 2023
fabb7c6
chore(storage): replace collector with sysinfo
Li0k Mar 14, 2023
4ba2870
chore(storage): remove ScalePolicy suggest
Li0k Mar 14, 2023
86ae6fd
chore(storage): support cpu usage in metrics
Li0k Mar 15, 2023
8047afa
fix(storage): PR 8563
Li0k Mar 15, 2023
ae3c75d
feat(storage): support config for max_compactor_task_multiplier
Li0k Mar 16, 2023
8fc1e53
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Mar 16, 2023
9cbf522
chore(storage): update grafana
Li0k Mar 16, 2023
84135cb
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Mar 17, 2023
ef66647
fix(storage): fix typo
Li0k Mar 17, 2023
20272f7
fix(storage): address comments
Li0k Mar 20, 2023
64f8503
Merge branch 'main' of https://github.com/singularity-data/risingwave…
Li0k Mar 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

138 changes: 118 additions & 20 deletions dashboard/proto/gen/hummock.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 20 additions & 1 deletion grafana/risingwave-dashboard.dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,26 @@ def section_compaction(outer_panels):
),
],
),
panels.timeseries_bytes(
"Waiting compaction bytes",
"Compaction bytes which need to be schedule in new task",
[
panels.target(
f"sum({metric('storage_compactor_waiting_compaction_bytes')})",
"waiting_compaction_bytes",
),
],
),
panels.timeseries_count(
"scale compactor core count",
"compactor core resource need to scale out",
[
panels.target(
f"sum({metric('storage_compactor_suggest_core_count')})",
"suggest-core-count"
),
],
),
panels.timeseries_count(
"Compaction Success & Failure Count",
"num of compactions from each level to next level",
Expand Down Expand Up @@ -1553,7 +1573,6 @@ def section_batch_exchange(outer_panels):
),
]


def section_frontend(outer_panels):
panels = outer_panels.sub_panel()
return [
Expand Down
2 changes: 1 addition & 1 deletion grafana/risingwave-dashboard.json

Large diffs are not rendered by default.

23 changes: 20 additions & 3 deletions proto/hummock.proto
Original file line number Diff line number Diff line change
Expand Up @@ -358,18 +358,25 @@ message CompactTaskProgress {
uint32 num_ssts_uploaded = 3;
}

message ReportCompactionTaskProgressRequest {
// The measurement of the workload on a compactor to determine whether it is idle.
message CompactorWorkload {
uint32 cpu = 1;
}

message CompactorHeartbeatRequest {
uint32 context_id = 1;
repeated CompactTaskProgress progress = 2;
CompactorWorkload workload = 3;
}

message ReportCompactionTaskProgressResponse {
message CompactorHeartbeatResponse {
common.Status status = 1;
}

message SubscribeCompactTasksRequest {
uint32 context_id = 1;
uint64 max_concurrent_task_number = 2;
uint32 cpu_core_num = 3;
}

message ValidationTask {
Expand Down Expand Up @@ -562,7 +569,7 @@ service HummockManagerService {
rpc TriggerCompactionDeterministic(TriggerCompactionDeterministicRequest) returns (TriggerCompactionDeterministicResponse);
rpc DisableCommitEpoch(DisableCommitEpochRequest) returns (DisableCommitEpochResponse);
rpc ReportCompactionTasks(ReportCompactionTasksRequest) returns (ReportCompactionTasksResponse);
rpc ReportCompactionTaskProgress(ReportCompactionTaskProgressRequest) returns (ReportCompactionTaskProgressResponse);
rpc CompactorHeartbeat(CompactorHeartbeatRequest) returns (CompactorHeartbeatResponse);
rpc PinSnapshot(PinSnapshotRequest) returns (PinSnapshotResponse);
rpc PinSpecificSnapshot(PinSpecificSnapshotRequest) returns (PinSnapshotResponse);
rpc GetEpoch(GetEpochRequest) returns (GetEpochResponse);
Expand All @@ -580,6 +587,7 @@ service HummockManagerService {
rpc RiseCtlUpdateCompactionConfig(RiseCtlUpdateCompactionConfigRequest) returns (RiseCtlUpdateCompactionConfigResponse);
rpc InitMetadataForReplay(InitMetadataForReplayRequest) returns (InitMetadataForReplayResponse);
rpc SetCompactorRuntimeConfig(SetCompactorRuntimeConfigRequest) returns (SetCompactorRuntimeConfigResponse);
rpc GetScaleCompactor(GetScaleCompactorRequest) returns (GetScaleCompactorResponse);
rpc PinVersion(PinVersionRequest) returns (PinVersionResponse);
rpc SplitCompactionGroup(SplitCompactionGroupRequest) returns (SplitCompactionGroupResponse);
}
Expand Down Expand Up @@ -614,3 +622,12 @@ message HummockVersionStats {
uint64 hummock_version_id = 1;
map<uint32, TableStats> table_stats = 2;
}

message GetScaleCompactorRequest {}

message GetScaleCompactorResponse {
uint64 suggest_cores = 1;
uint64 running_cores = 2;
uint64 total_cores = 3;
uint64 waiting_compaction_bytes = 4;
}
Loading