1#[derive(prost_helpers::AnyPB)]
3#[derive(Eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct SstableInfo {
6 #[prost(uint64, tag = "1")]
7 pub object_id: u64,
8 #[prost(uint64, tag = "2")]
9 pub sst_id: u64,
10 #[prost(message, optional, tag = "3")]
11 pub key_range: ::core::option::Option<KeyRange>,
12 #[prost(uint64, tag = "4")]
14 pub file_size: u64,
15 #[prost(uint32, repeated, tag = "5")]
16 pub table_ids: ::prost::alloc::vec::Vec<u32>,
17 #[prost(uint64, tag = "6")]
18 pub meta_offset: u64,
19 #[prost(uint64, tag = "7")]
20 pub stale_key_count: u64,
21 #[prost(uint64, tag = "8")]
22 pub total_key_count: u64,
23 #[prost(uint64, tag = "9")]
24 pub min_epoch: u64,
25 #[prost(uint64, tag = "10")]
26 pub max_epoch: u64,
27 #[prost(uint64, tag = "11")]
28 pub uncompressed_file_size: u64,
29 #[prost(uint64, tag = "12")]
30 pub range_tombstone_count: u64,
31 #[prost(enumeration = "BloomFilterType", tag = "13")]
32 pub bloom_filter_kind: i32,
33 #[prost(uint64, tag = "14")]
36 pub sst_size: u64,
37}
38#[derive(prost_helpers::AnyPB)]
39#[derive(Clone, PartialEq, ::prost::Message)]
40pub struct OverlappingLevel {
41 #[prost(message, repeated, tag = "1")]
42 pub sub_levels: ::prost::alloc::vec::Vec<Level>,
43 #[prost(uint64, tag = "2")]
44 pub total_file_size: u64,
45 #[prost(uint64, tag = "3")]
46 pub uncompressed_file_size: u64,
47}
48#[derive(prost_helpers::AnyPB)]
49#[derive(Clone, PartialEq, ::prost::Message)]
50pub struct Level {
51 #[prost(uint32, tag = "1")]
52 pub level_idx: u32,
53 #[prost(enumeration = "LevelType", tag = "2")]
54 pub level_type: i32,
55 #[prost(message, repeated, tag = "3")]
56 pub table_infos: ::prost::alloc::vec::Vec<SstableInfo>,
57 #[prost(uint64, tag = "4")]
58 pub total_file_size: u64,
59 #[prost(uint64, tag = "5")]
60 pub sub_level_id: u64,
61 #[prost(uint64, tag = "6")]
62 pub uncompressed_file_size: u64,
63 #[prost(uint32, tag = "7")]
64 pub vnode_partition_count: u32,
65}
66#[derive(prost_helpers::AnyPB)]
67#[derive(Eq)]
68#[derive(Clone, PartialEq, ::prost::Message)]
69pub struct InputLevel {
70 #[prost(uint32, tag = "1")]
71 pub level_idx: u32,
72 #[prost(enumeration = "LevelType", tag = "2")]
73 pub level_type: i32,
74 #[prost(message, repeated, tag = "3")]
75 pub table_infos: ::prost::alloc::vec::Vec<SstableInfo>,
76}
77#[derive(prost_helpers::AnyPB)]
78#[derive(Eq)]
79#[derive(Clone, PartialEq, ::prost::Message)]
80pub struct NewL0SubLevel {
81 #[prost(message, repeated, tag = "1")]
82 pub inserted_table_infos: ::prost::alloc::vec::Vec<SstableInfo>,
83}
84#[derive(prost_helpers::AnyPB)]
85#[derive(Eq)]
86#[derive(Clone, PartialEq, ::prost::Message)]
87pub struct IntraLevelDelta {
88 #[prost(uint32, tag = "1")]
89 pub level_idx: u32,
90 #[prost(uint64, tag = "2")]
91 pub l0_sub_level_id: u64,
92 #[prost(uint64, repeated, tag = "3")]
93 pub removed_table_ids: ::prost::alloc::vec::Vec<u64>,
94 #[prost(message, repeated, tag = "4")]
95 pub inserted_table_infos: ::prost::alloc::vec::Vec<SstableInfo>,
96 #[prost(uint32, tag = "5")]
97 pub vnode_partition_count: u32,
98 #[prost(uint64, tag = "6")]
99 pub compaction_group_version_id: u64,
100}
101#[derive(prost_helpers::AnyPB)]
102#[derive(Eq)]
103#[derive(Clone, PartialEq, ::prost::Message)]
104pub struct GroupConstruct {
105 #[prost(message, optional, tag = "1")]
106 pub group_config: ::core::option::Option<CompactionConfig>,
107 #[prost(uint64, tag = "2")]
109 pub parent_group_id: u64,
110 #[deprecated]
111 #[prost(uint32, repeated, packed = "false", tag = "3")]
112 pub table_ids: ::prost::alloc::vec::Vec<u32>,
113 #[prost(uint64, tag = "4")]
114 pub group_id: u64,
115 #[prost(uint64, tag = "5")]
116 pub new_sst_start_id: u64,
117 #[prost(enumeration = "CompatibilityVersion", tag = "6")]
118 pub version: i32,
119 #[prost(bytes = "vec", optional, tag = "7")]
125 pub split_key: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
126}
127#[derive(prost_helpers::AnyPB)]
128#[derive(Eq)]
129#[derive(Clone, Copy, PartialEq, ::prost::Message)]
130pub struct GroupDestroy {}
131#[derive(prost_helpers::AnyPB)]
132#[derive(Eq)]
133#[derive(Clone, Copy, PartialEq, ::prost::Message)]
134pub struct GroupMerge {
135 #[prost(uint64, tag = "1")]
136 pub left_group_id: u64,
137 #[prost(uint64, tag = "2")]
138 pub right_group_id: u64,
139}
140#[derive(prost_helpers::AnyPB)]
141#[derive(Eq)]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct GroupDelta {
144 #[prost(oneof = "group_delta::DeltaType", tags = "1, 2, 3, 6, 7")]
145 pub delta_type: ::core::option::Option<group_delta::DeltaType>,
146}
147pub mod group_delta {
149 #[derive(prost_helpers::AnyPB)]
150 #[derive(Eq)]
151 #[derive(Clone, PartialEq, ::prost::Oneof)]
152 pub enum DeltaType {
153 #[prost(message, tag = "1")]
154 IntraLevel(super::IntraLevelDelta),
155 #[prost(message, tag = "2")]
156 GroupConstruct(super::GroupConstruct),
157 #[prost(message, tag = "3")]
158 GroupDestroy(super::GroupDestroy),
159 #[prost(message, tag = "6")]
160 GroupMerge(super::GroupMerge),
161 #[prost(message, tag = "7")]
162 NewL0SubLevel(super::NewL0SubLevel),
163 }
164}
165#[derive(prost_helpers::AnyPB)]
166#[derive(Eq)]
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct VnodeWatermark {
169 #[prost(bytes = "vec", tag = "1")]
171 pub watermark: ::prost::alloc::vec::Vec<u8>,
172 #[prost(message, optional, tag = "2")]
174 pub vnode_bitmap: ::core::option::Option<super::common::Buffer>,
175}
176#[derive(prost_helpers::AnyPB)]
182#[derive(Eq)]
183#[derive(Clone, PartialEq, ::prost::Message)]
184pub struct TableWatermarks {
185 #[prost(message, repeated, tag = "1")]
188 pub epoch_watermarks: ::prost::alloc::vec::Vec<table_watermarks::EpochNewWatermarks>,
189 #[prost(bool, tag = "2")]
191 pub is_ascending: bool,
192 #[prost(bool, tag = "3")]
194 pub is_non_pk_prefix: bool,
195}
196pub mod table_watermarks {
198 #[derive(prost_helpers::AnyPB)]
199 #[derive(Eq)]
200 #[derive(Clone, PartialEq, ::prost::Message)]
201 pub struct EpochNewWatermarks {
202 #[prost(message, repeated, tag = "1")]
203 pub watermarks: ::prost::alloc::vec::Vec<super::VnodeWatermark>,
204 #[prost(uint64, tag = "2")]
205 pub epoch: u64,
206 }
207}
208#[derive(prost_helpers::AnyPB)]
209#[derive(Clone, PartialEq, ::prost::Message)]
210pub struct EpochNewChangeLog {
211 #[prost(message, repeated, tag = "1")]
212 pub old_value: ::prost::alloc::vec::Vec<SstableInfo>,
213 #[prost(message, repeated, tag = "2")]
214 pub new_value: ::prost::alloc::vec::Vec<SstableInfo>,
215 #[prost(uint64, repeated, tag = "3")]
217 pub epochs: ::prost::alloc::vec::Vec<u64>,
218}
219#[derive(prost_helpers::AnyPB)]
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct TableChangeLog {
222 #[prost(message, repeated, tag = "1")]
224 pub change_logs: ::prost::alloc::vec::Vec<EpochNewChangeLog>,
225}
226#[derive(prost_helpers::AnyPB)]
227#[derive(Clone, Copy, PartialEq, ::prost::Message)]
228pub struct StateTableInfo {
229 #[prost(uint64, tag = "1")]
230 pub committed_epoch: u64,
231 #[prost(uint64, tag = "3")]
232 pub compaction_group_id: u64,
233}
234#[derive(prost_helpers::AnyPB)]
235#[derive(Clone, Copy, PartialEq, ::prost::Message)]
236pub struct StateTableInfoDelta {
237 #[prost(uint64, tag = "1")]
238 pub committed_epoch: u64,
239 #[prost(uint64, tag = "3")]
240 pub compaction_group_id: u64,
241}
242#[derive(prost_helpers::AnyPB)]
243#[derive(Clone, Copy, PartialEq, ::prost::Message)]
244pub struct VectorIndexObject {
245 #[prost(uint64, tag = "1")]
246 pub id: u64,
247 #[prost(enumeration = "VectorIndexObjectType", tag = "2")]
248 pub object_type: i32,
249}
250#[derive(prost_helpers::AnyPB)]
251#[derive(Clone, Copy, PartialEq, ::prost::Message)]
252pub struct VectorFileInfo {
253 #[prost(uint64, tag = "1")]
254 pub object_id: u64,
255 #[prost(uint64, tag = "2")]
256 pub file_size: u64,
257}
258#[derive(prost_helpers::AnyPB)]
259#[derive(Clone, Copy, PartialEq, ::prost::Message)]
260pub struct FlatIndexConfig {}
261#[derive(prost_helpers::AnyPB)]
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct FlatIndex {
264 #[prost(message, optional, tag = "1")]
265 pub config: ::core::option::Option<FlatIndexConfig>,
266 #[prost(message, repeated, tag = "2")]
267 pub vector_files: ::prost::alloc::vec::Vec<VectorFileInfo>,
268}
269#[derive(prost_helpers::AnyPB)]
270#[derive(Clone, PartialEq, ::prost::Message)]
271pub struct FlatIndexAdd {
272 #[prost(message, repeated, tag = "1")]
273 pub added_vector_files: ::prost::alloc::vec::Vec<VectorFileInfo>,
274}
275#[derive(prost_helpers::AnyPB)]
276#[derive(Clone, PartialEq, ::prost::Message)]
277pub struct VectorIndex {
278 #[prost(uint32, tag = "1")]
279 pub dimension: u32,
280 #[prost(enumeration = "DistanceType", tag = "2")]
281 pub distance_type: i32,
282 #[prost(oneof = "vector_index::Variant", tags = "65")]
283 pub variant: ::core::option::Option<vector_index::Variant>,
284}
285pub mod vector_index {
287 #[derive(prost_helpers::AnyPB)]
288 #[derive(Clone, PartialEq, ::prost::Oneof)]
289 pub enum Variant {
290 #[prost(message, tag = "65")]
292 Flat(super::FlatIndex),
293 }
294}
295#[derive(prost_helpers::AnyPB)]
296#[derive(Clone, PartialEq, ::prost::Message)]
297pub struct VectorIndexDelta {
298 #[prost(oneof = "vector_index_delta::Delta", tags = "1, 2")]
299 pub delta: ::core::option::Option<vector_index_delta::Delta>,
300}
301pub mod vector_index_delta {
303 #[derive(prost_helpers::AnyPB)]
304 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
305 pub struct VectorIndexInit {
306 #[prost(uint32, tag = "1")]
307 pub dimension: u32,
308 #[prost(enumeration = "super::DistanceType", tag = "2")]
309 pub distance_type: i32,
310 #[prost(oneof = "vector_index_init::Config", tags = "65")]
311 pub config: ::core::option::Option<vector_index_init::Config>,
312 }
313 pub mod vector_index_init {
315 #[derive(prost_helpers::AnyPB)]
316 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
317 pub enum Config {
318 #[prost(message, tag = "65")]
320 Flat(super::super::FlatIndexConfig),
321 }
322 }
323 #[derive(prost_helpers::AnyPB)]
324 #[derive(Clone, PartialEq, ::prost::Message)]
325 pub struct VectorIndexAdd {
326 #[prost(oneof = "vector_index_add::Add", tags = "65")]
327 pub add: ::core::option::Option<vector_index_add::Add>,
328 }
329 pub mod vector_index_add {
331 #[derive(prost_helpers::AnyPB)]
332 #[derive(Clone, PartialEq, ::prost::Oneof)]
333 pub enum Add {
334 #[prost(message, tag = "65")]
336 Flat(super::super::FlatIndexAdd),
337 }
338 }
339 #[derive(prost_helpers::AnyPB)]
340 #[derive(Clone, PartialEq, ::prost::Message)]
341 pub struct VectorIndexAdds {
342 #[prost(message, repeated, tag = "1")]
343 pub adds: ::prost::alloc::vec::Vec<VectorIndexAdd>,
344 }
345 #[derive(prost_helpers::AnyPB)]
346 #[derive(Clone, PartialEq, ::prost::Oneof)]
347 pub enum Delta {
348 #[prost(message, tag = "1")]
349 Init(VectorIndexInit),
350 #[prost(message, tag = "2")]
351 Adds(VectorIndexAdds),
352 }
353}
354#[derive(prost_helpers::AnyPB)]
355#[derive(Clone, PartialEq, ::prost::Message)]
356pub struct HummockVersion {
357 #[prost(uint64, tag = "1")]
358 pub id: u64,
359 #[prost(map = "uint64, message", tag = "2")]
361 pub levels: ::std::collections::HashMap<u64, hummock_version::Levels>,
362 #[deprecated]
363 #[prost(uint64, tag = "3")]
364 pub max_committed_epoch: u64,
365 #[prost(map = "uint32, message", tag = "5")]
366 pub table_watermarks: ::std::collections::HashMap<u32, TableWatermarks>,
367 #[prost(map = "uint32, message", tag = "6")]
368 pub table_change_logs: ::std::collections::HashMap<u32, TableChangeLog>,
369 #[prost(map = "uint32, message", tag = "7")]
370 pub state_table_info: ::std::collections::HashMap<u32, StateTableInfo>,
371 #[prost(map = "uint32, message", tag = "8")]
372 pub vector_indexes: ::std::collections::HashMap<u32, VectorIndex>,
373}
374pub mod hummock_version {
376 #[derive(prost_helpers::AnyPB)]
377 #[derive(Clone, PartialEq, ::prost::Message)]
378 pub struct Levels {
379 #[prost(message, repeated, tag = "1")]
380 pub levels: ::prost::alloc::vec::Vec<super::Level>,
381 #[prost(message, optional, tag = "2")]
382 pub l0: ::core::option::Option<super::OverlappingLevel>,
383 #[prost(uint64, tag = "3")]
384 pub group_id: u64,
385 #[prost(uint64, tag = "4")]
386 pub parent_group_id: u64,
387 #[deprecated]
388 #[prost(uint32, repeated, packed = "false", tag = "5")]
389 pub member_table_ids: ::prost::alloc::vec::Vec<u32>,
390 #[prost(uint64, tag = "6")]
391 pub compaction_group_version_id: u64,
392 }
393}
394#[derive(prost_helpers::AnyPB)]
395#[derive(Clone, PartialEq, ::prost::Message)]
396pub struct HummockVersionDelta {
397 #[prost(uint64, tag = "1")]
398 pub id: u64,
399 #[prost(uint64, tag = "2")]
400 pub prev_id: u64,
401 #[prost(map = "uint64, message", tag = "3")]
403 pub group_deltas: ::std::collections::HashMap<
404 u64,
405 hummock_version_delta::GroupDeltas,
406 >,
407 #[deprecated]
408 #[prost(uint64, tag = "4")]
409 pub max_committed_epoch: u64,
410 #[prost(bool, tag = "6")]
411 pub trivial_move: bool,
412 #[prost(map = "uint32, message", tag = "8")]
413 pub new_table_watermarks: ::std::collections::HashMap<u32, TableWatermarks>,
414 #[prost(uint32, repeated, tag = "9")]
415 pub removed_table_ids: ::prost::alloc::vec::Vec<u32>,
416 #[prost(map = "uint32, message", tag = "10")]
417 pub change_log_delta: ::std::collections::HashMap<
418 u32,
419 hummock_version_delta::ChangeLogDelta,
420 >,
421 #[prost(map = "uint32, message", tag = "11")]
422 pub state_table_info_delta: ::std::collections::HashMap<u32, StateTableInfoDelta>,
423 #[prost(map = "uint32, message", tag = "12")]
424 pub vector_index_delta: ::std::collections::HashMap<u32, VectorIndexDelta>,
425}
426pub mod hummock_version_delta {
428 #[derive(prost_helpers::AnyPB)]
429 #[derive(Clone, PartialEq, ::prost::Message)]
430 pub struct GroupDeltas {
431 #[prost(message, repeated, tag = "1")]
432 pub group_deltas: ::prost::alloc::vec::Vec<super::GroupDelta>,
433 }
434 #[derive(prost_helpers::AnyPB)]
435 #[derive(Clone, PartialEq, ::prost::Message)]
436 pub struct ChangeLogDelta {
437 #[prost(message, optional, tag = "1")]
438 pub new_log: ::core::option::Option<super::EpochNewChangeLog>,
439 #[prost(uint64, tag = "2")]
441 pub truncate_epoch: u64,
442 }
443}
444#[derive(prost_helpers::AnyPB)]
445#[derive(Clone, PartialEq, ::prost::Message)]
446pub struct HummockVersionDeltas {
447 #[prost(message, repeated, tag = "1")]
448 pub version_deltas: ::prost::alloc::vec::Vec<HummockVersionDelta>,
449}
450#[derive(prost_helpers::AnyPB)]
451#[derive(Clone, PartialEq, ::prost::Message)]
452pub struct HummockVersionCheckpoint {
453 #[prost(message, optional, tag = "1")]
454 pub version: ::core::option::Option<HummockVersion>,
455 #[prost(map = "uint64, message", tag = "2")]
456 pub stale_objects: ::std::collections::HashMap<
457 u64,
458 hummock_version_checkpoint::StaleObjects,
459 >,
460}
461pub mod hummock_version_checkpoint {
463 #[derive(prost_helpers::AnyPB)]
464 #[derive(Clone, PartialEq, ::prost::Message)]
465 pub struct StaleObjects {
466 #[prost(uint64, repeated, tag = "1")]
467 pub id: ::prost::alloc::vec::Vec<u64>,
468 #[prost(uint64, tag = "2")]
469 pub total_file_size: u64,
470 #[prost(message, repeated, tag = "3")]
471 pub vector_files: ::prost::alloc::vec::Vec<super::VectorIndexObject>,
472 }
473}
474#[derive(prost_helpers::AnyPB)]
475#[derive(Clone, PartialEq, ::prost::Message)]
476pub struct HummockVersionArchive {
477 #[prost(message, optional, tag = "1")]
478 pub version: ::core::option::Option<HummockVersion>,
479 #[prost(message, repeated, tag = "2")]
481 pub version_deltas: ::prost::alloc::vec::Vec<HummockVersionDelta>,
482}
483#[derive(prost_helpers::AnyPB)]
484#[derive(Clone, PartialEq, ::prost::Message)]
485pub struct VersionUpdatePayload {
486 #[prost(oneof = "version_update_payload::Payload", tags = "1, 2")]
487 pub payload: ::core::option::Option<version_update_payload::Payload>,
488}
489pub mod version_update_payload {
491 #[derive(prost_helpers::AnyPB)]
492 #[derive(Clone, PartialEq, ::prost::Oneof)]
493 pub enum Payload {
494 #[prost(message, tag = "1")]
495 VersionDeltas(super::HummockVersionDeltas),
496 #[prost(message, tag = "2")]
497 PinnedVersion(super::HummockVersion),
498 }
499}
500#[derive(prost_helpers::AnyPB)]
501#[derive(Clone, Copy, PartialEq, ::prost::Message)]
502pub struct UnpinVersionBeforeRequest {
503 #[prost(uint32, tag = "1")]
504 pub context_id: u32,
505 #[prost(uint64, tag = "2")]
506 pub unpin_version_before: u64,
507}
508#[derive(prost_helpers::AnyPB)]
509#[derive(Clone, PartialEq, ::prost::Message)]
510pub struct UnpinVersionBeforeResponse {
511 #[prost(message, optional, tag = "1")]
512 pub status: ::core::option::Option<super::common::Status>,
513}
514#[derive(prost_helpers::AnyPB)]
515#[derive(Clone, Copy, PartialEq, ::prost::Message)]
516pub struct GetCurrentVersionRequest {}
517#[derive(prost_helpers::AnyPB)]
518#[derive(Clone, PartialEq, ::prost::Message)]
519pub struct GetCurrentVersionResponse {
520 #[prost(message, optional, tag = "1")]
521 pub status: ::core::option::Option<super::common::Status>,
522 #[prost(message, optional, tag = "2")]
523 pub current_version: ::core::option::Option<HummockVersion>,
524}
525#[derive(prost_helpers::AnyPB)]
526#[derive(Clone, Copy, PartialEq, ::prost::Message)]
527pub struct UnpinVersionRequest {
528 #[prost(uint32, tag = "1")]
529 pub context_id: u32,
530}
531#[derive(prost_helpers::AnyPB)]
532#[derive(Clone, PartialEq, ::prost::Message)]
533pub struct UnpinVersionResponse {
534 #[prost(message, optional, tag = "1")]
535 pub status: ::core::option::Option<super::common::Status>,
536}
537#[derive(prost_helpers::AnyPB)]
538#[derive(Clone, Copy, PartialEq, ::prost::Message)]
539pub struct GetAssignedCompactTaskNumRequest {}
540#[derive(prost_helpers::AnyPB)]
541#[derive(Clone, Copy, PartialEq, ::prost::Message)]
542pub struct GetAssignedCompactTaskNumResponse {
543 #[prost(uint32, tag = "1")]
544 pub num_tasks: u32,
545}
546#[derive(prost_helpers::AnyPB)]
549#[derive(Eq)]
550#[derive(Clone, PartialEq, ::prost::Message)]
551pub struct KeyRange {
552 #[prost(bytes = "vec", tag = "1")]
553 pub left: ::prost::alloc::vec::Vec<u8>,
554 #[prost(bytes = "vec", tag = "2")]
555 pub right: ::prost::alloc::vec::Vec<u8>,
556 #[prost(bool, tag = "3")]
557 pub right_exclusive: bool,
558}
559#[derive(prost_helpers::AnyPB)]
560#[derive(Eq)]
561#[derive(Clone, Copy, PartialEq, ::prost::Message)]
562pub struct TableOption {
563 #[prost(uint32, optional, tag = "2")]
564 pub retention_seconds: ::core::option::Option<u32>,
565}
566#[derive(prost_helpers::AnyPB)]
567#[derive(Eq)]
568#[derive(Clone, PartialEq, ::prost::Message)]
569pub struct TableSchema {
570 #[prost(int32, repeated, tag = "1")]
571 pub column_ids: ::prost::alloc::vec::Vec<i32>,
572}
573#[derive(prost_helpers::AnyPB)]
574#[derive(Eq)]
575#[derive(Clone, PartialEq, ::prost::Message)]
576pub struct CompactTask {
577 #[prost(message, repeated, tag = "1")]
579 pub input_ssts: ::prost::alloc::vec::Vec<InputLevel>,
580 #[prost(message, repeated, tag = "2")]
583 pub splits: ::prost::alloc::vec::Vec<KeyRange>,
584 #[prost(message, repeated, tag = "4")]
586 pub sorted_output_ssts: ::prost::alloc::vec::Vec<SstableInfo>,
587 #[prost(uint64, tag = "5")]
589 pub task_id: u64,
590 #[prost(uint32, tag = "6")]
592 pub target_level: u32,
593 #[prost(bool, tag = "7")]
594 pub gc_delete_keys: bool,
595 #[prost(uint32, tag = "8")]
597 pub base_level: u32,
598 #[prost(enumeration = "compact_task::TaskStatus", tag = "9")]
599 pub task_status: i32,
600 #[prost(uint64, tag = "12")]
602 pub compaction_group_id: u64,
603 #[prost(uint32, repeated, tag = "13")]
605 pub existing_table_ids: ::prost::alloc::vec::Vec<u32>,
606 #[prost(uint32, tag = "14")]
607 pub compression_algorithm: u32,
608 #[prost(uint64, tag = "15")]
609 pub target_file_size: u64,
610 #[prost(uint32, tag = "16")]
611 pub compaction_filter_mask: u32,
612 #[prost(btree_map = "uint32, message", tag = "17")]
613 pub table_options: ::prost::alloc::collections::BTreeMap<u32, TableOption>,
614 #[prost(uint64, tag = "18")]
615 pub current_epoch_time: u64,
616 #[prost(uint64, tag = "19")]
617 pub target_sub_level_id: u64,
618 #[prost(enumeration = "compact_task::TaskType", tag = "20")]
620 pub task_type: i32,
621 #[deprecated]
623 #[prost(bool, tag = "21")]
624 pub split_by_state_table: bool,
625 #[prost(uint32, tag = "22")]
628 pub split_weight_by_vnode: u32,
629 #[prost(btree_map = "uint32, uint32", tag = "23")]
630 pub table_vnode_partition: ::prost::alloc::collections::BTreeMap<u32, u32>,
631 #[prost(btree_map = "uint32, message", tag = "24")]
634 pub table_watermarks: ::prost::alloc::collections::BTreeMap<u32, TableWatermarks>,
635 #[prost(btree_map = "uint32, message", tag = "25")]
637 pub table_schemas: ::prost::alloc::collections::BTreeMap<u32, TableSchema>,
638 #[prost(uint32, tag = "26")]
640 pub max_sub_compaction: u32,
641 #[prost(uint64, tag = "27")]
643 pub compaction_group_version_id: u64,
644}
645pub mod compact_task {
647 #[derive(prost_helpers::AnyPB)]
648 #[derive(
649 Clone,
650 Copy,
651 Debug,
652 PartialEq,
653 Eq,
654 Hash,
655 PartialOrd,
656 Ord,
657 ::prost::Enumeration
658 )]
659 #[repr(i32)]
660 pub enum TaskStatus {
661 Unspecified = 0,
662 Pending = 1,
663 Success = 2,
664 HeartbeatCanceled = 3,
665 NoAvailMemoryResourceCanceled = 4,
666 AssignFailCanceled = 5,
667 SendFailCanceled = 6,
668 ManualCanceled = 7,
669 InvalidGroupCanceled = 8,
670 InputOutdatedCanceled = 9,
671 ExecuteFailed = 10,
672 JoinHandleFailed = 11,
673 TrackSstObjectIdFailed = 12,
674 NoAvailCpuResourceCanceled = 13,
675 HeartbeatProgressCanceled = 14,
676 RetentionTimeRejected = 17,
677 ServerlessSendFailCanceled = 15,
679 ServerlessTableNotFoundCanceled = 16,
680 }
681 impl TaskStatus {
682 pub fn as_str_name(&self) -> &'static str {
687 match self {
688 Self::Unspecified => "UNSPECIFIED",
689 Self::Pending => "PENDING",
690 Self::Success => "SUCCESS",
691 Self::HeartbeatCanceled => "HEARTBEAT_CANCELED",
692 Self::NoAvailMemoryResourceCanceled => {
693 "NO_AVAIL_MEMORY_RESOURCE_CANCELED"
694 }
695 Self::AssignFailCanceled => "ASSIGN_FAIL_CANCELED",
696 Self::SendFailCanceled => "SEND_FAIL_CANCELED",
697 Self::ManualCanceled => "MANUAL_CANCELED",
698 Self::InvalidGroupCanceled => "INVALID_GROUP_CANCELED",
699 Self::InputOutdatedCanceled => "INPUT_OUTDATED_CANCELED",
700 Self::ExecuteFailed => "EXECUTE_FAILED",
701 Self::JoinHandleFailed => "JOIN_HANDLE_FAILED",
702 Self::TrackSstObjectIdFailed => "TRACK_SST_OBJECT_ID_FAILED",
703 Self::NoAvailCpuResourceCanceled => "NO_AVAIL_CPU_RESOURCE_CANCELED",
704 Self::HeartbeatProgressCanceled => "HEARTBEAT_PROGRESS_CANCELED",
705 Self::RetentionTimeRejected => "RETENTION_TIME_REJECTED",
706 Self::ServerlessSendFailCanceled => "SERVERLESS_SEND_FAIL_CANCELED",
707 Self::ServerlessTableNotFoundCanceled => {
708 "SERVERLESS_TABLE_NOT_FOUND_CANCELED"
709 }
710 }
711 }
712 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
714 match value {
715 "UNSPECIFIED" => Some(Self::Unspecified),
716 "PENDING" => Some(Self::Pending),
717 "SUCCESS" => Some(Self::Success),
718 "HEARTBEAT_CANCELED" => Some(Self::HeartbeatCanceled),
719 "NO_AVAIL_MEMORY_RESOURCE_CANCELED" => {
720 Some(Self::NoAvailMemoryResourceCanceled)
721 }
722 "ASSIGN_FAIL_CANCELED" => Some(Self::AssignFailCanceled),
723 "SEND_FAIL_CANCELED" => Some(Self::SendFailCanceled),
724 "MANUAL_CANCELED" => Some(Self::ManualCanceled),
725 "INVALID_GROUP_CANCELED" => Some(Self::InvalidGroupCanceled),
726 "INPUT_OUTDATED_CANCELED" => Some(Self::InputOutdatedCanceled),
727 "EXECUTE_FAILED" => Some(Self::ExecuteFailed),
728 "JOIN_HANDLE_FAILED" => Some(Self::JoinHandleFailed),
729 "TRACK_SST_OBJECT_ID_FAILED" => Some(Self::TrackSstObjectIdFailed),
730 "NO_AVAIL_CPU_RESOURCE_CANCELED" => {
731 Some(Self::NoAvailCpuResourceCanceled)
732 }
733 "HEARTBEAT_PROGRESS_CANCELED" => Some(Self::HeartbeatProgressCanceled),
734 "RETENTION_TIME_REJECTED" => Some(Self::RetentionTimeRejected),
735 "SERVERLESS_SEND_FAIL_CANCELED" => Some(Self::ServerlessSendFailCanceled),
736 "SERVERLESS_TABLE_NOT_FOUND_CANCELED" => {
737 Some(Self::ServerlessTableNotFoundCanceled)
738 }
739 _ => None,
740 }
741 }
742 }
743 #[derive(prost_helpers::AnyPB)]
744 #[derive(
745 Clone,
746 Copy,
747 Debug,
748 PartialEq,
749 Eq,
750 Hash,
751 PartialOrd,
752 Ord,
753 ::prost::Enumeration
754 )]
755 #[repr(i32)]
756 pub enum TaskType {
757 TypeUnspecified = 0,
758 Dynamic = 1,
759 SpaceReclaim = 2,
760 Manual = 3,
761 SharedBuffer = 4,
762 Ttl = 5,
763 Tombstone = 6,
764 Emergency = 7,
765 VnodeWatermark = 8,
766 }
767 impl TaskType {
768 pub fn as_str_name(&self) -> &'static str {
773 match self {
774 Self::TypeUnspecified => "TYPE_UNSPECIFIED",
775 Self::Dynamic => "DYNAMIC",
776 Self::SpaceReclaim => "SPACE_RECLAIM",
777 Self::Manual => "MANUAL",
778 Self::SharedBuffer => "SHARED_BUFFER",
779 Self::Ttl => "TTL",
780 Self::Tombstone => "TOMBSTONE",
781 Self::Emergency => "EMERGENCY",
782 Self::VnodeWatermark => "VNODE_WATERMARK",
783 }
784 }
785 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
787 match value {
788 "TYPE_UNSPECIFIED" => Some(Self::TypeUnspecified),
789 "DYNAMIC" => Some(Self::Dynamic),
790 "SPACE_RECLAIM" => Some(Self::SpaceReclaim),
791 "MANUAL" => Some(Self::Manual),
792 "SHARED_BUFFER" => Some(Self::SharedBuffer),
793 "TTL" => Some(Self::Ttl),
794 "TOMBSTONE" => Some(Self::Tombstone),
795 "EMERGENCY" => Some(Self::Emergency),
796 "VNODE_WATERMARK" => Some(Self::VnodeWatermark),
797 _ => None,
798 }
799 }
800 }
801}
802#[derive(prost_helpers::AnyPB)]
803#[derive(Eq)]
804#[derive(Clone, PartialEq, ::prost::Message)]
805pub struct LevelHandler {
806 #[prost(uint32, tag = "1")]
807 pub level: u32,
808 #[prost(message, repeated, tag = "3")]
809 pub tasks: ::prost::alloc::vec::Vec<level_handler::RunningCompactTask>,
810}
811pub mod level_handler {
813 #[derive(prost_helpers::AnyPB)]
814 #[derive(Eq)]
815 #[derive(Clone, PartialEq, ::prost::Message)]
816 pub struct RunningCompactTask {
817 #[prost(uint64, tag = "1")]
818 pub task_id: u64,
819 #[prost(uint64, repeated, tag = "2")]
820 pub ssts: ::prost::alloc::vec::Vec<u64>,
821 #[prost(uint64, tag = "3")]
822 pub total_file_size: u64,
823 #[prost(uint32, tag = "4")]
824 pub target_level: u32,
825 }
826}
827#[derive(prost_helpers::AnyPB)]
828#[derive(Clone, PartialEq, ::prost::Message)]
829pub struct CompactStatus {
830 #[prost(uint64, tag = "1")]
831 pub compaction_group_id: u64,
832 #[prost(message, repeated, tag = "2")]
833 pub level_handlers: ::prost::alloc::vec::Vec<LevelHandler>,
834}
835#[derive(prost_helpers::AnyPB)]
837#[derive(Clone, PartialEq, ::prost::Message)]
838pub struct CompactionGroup {
839 #[prost(uint64, tag = "1")]
840 pub id: u64,
841 #[prost(message, optional, tag = "4")]
842 pub compaction_config: ::core::option::Option<CompactionConfig>,
843}
844#[derive(prost_helpers::AnyPB)]
847#[derive(Clone, PartialEq, ::prost::Message)]
848pub struct CompactionGroupInfo {
849 #[prost(uint64, tag = "1")]
850 pub id: u64,
851 #[prost(uint64, tag = "2")]
852 pub parent_id: u64,
853 #[prost(uint32, repeated, tag = "3")]
854 pub member_table_ids: ::prost::alloc::vec::Vec<u32>,
855 #[prost(message, optional, tag = "4")]
856 pub compaction_config: ::core::option::Option<CompactionConfig>,
857}
858#[derive(prost_helpers::AnyPB)]
859#[derive(Clone, PartialEq, ::prost::Message)]
860pub struct CompactTaskAssignment {
861 #[prost(message, optional, tag = "1")]
862 pub compact_task: ::core::option::Option<CompactTask>,
863 #[prost(uint32, tag = "2")]
864 pub context_id: u32,
865}
866#[derive(prost_helpers::AnyPB)]
867#[derive(Clone, Copy, PartialEq, ::prost::Message)]
868pub struct HummockPinnedVersion {
869 #[prost(uint32, tag = "1")]
870 pub context_id: u32,
871 #[prost(uint64, tag = "2")]
872 pub min_pinned_id: u64,
873}
874#[derive(prost_helpers::AnyPB)]
875#[derive(Clone, Copy, PartialEq, ::prost::Message)]
876pub struct HummockPinnedSnapshot {
877 #[prost(uint32, tag = "1")]
878 pub context_id: u32,
879 #[prost(uint64, tag = "2")]
880 pub minimal_pinned_snapshot: u64,
881}
882#[derive(prost_helpers::AnyPB)]
883#[derive(Clone, Copy, PartialEq, ::prost::Message)]
884pub struct GetNewObjectIdsRequest {
885 #[prost(uint32, tag = "1")]
886 pub number: u32,
887}
888#[derive(prost_helpers::AnyPB)]
889#[derive(Clone, PartialEq, ::prost::Message)]
890pub struct GetNewObjectIdsResponse {
891 #[prost(message, optional, tag = "1")]
892 pub status: ::core::option::Option<super::common::Status>,
893 #[prost(uint64, tag = "2")]
895 pub start_id: u64,
896 #[prost(uint64, tag = "3")]
898 pub end_id: u64,
899}
900#[derive(prost_helpers::AnyPB)]
904#[derive(Clone, Copy, PartialEq, ::prost::Message)]
905pub struct CompactTaskProgress {
906 #[prost(uint64, tag = "1")]
907 pub task_id: u64,
908 #[prost(uint32, tag = "2")]
909 pub num_ssts_sealed: u32,
910 #[prost(uint32, tag = "3")]
911 pub num_ssts_uploaded: u32,
912 #[prost(uint64, tag = "4")]
913 pub num_progress_key: u64,
914 #[prost(uint64, tag = "5")]
915 pub num_pending_read_io: u64,
916 #[prost(uint64, tag = "6")]
917 pub num_pending_write_io: u64,
918 #[prost(uint64, optional, tag = "7")]
919 pub compaction_group_id: ::core::option::Option<u64>,
920}
921#[derive(prost_helpers::AnyPB)]
922#[derive(Clone, PartialEq, ::prost::Message)]
923pub struct SubscribeCompactionEventRequest {
924 #[prost(uint64, tag = "7")]
925 pub create_at: u64,
926 #[prost(oneof = "subscribe_compaction_event_request::Event", tags = "1, 2, 3, 4")]
927 pub event: ::core::option::Option<subscribe_compaction_event_request::Event>,
928}
929pub mod subscribe_compaction_event_request {
931 #[derive(prost_helpers::AnyPB)]
933 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
934 pub struct Register {
935 #[prost(uint32, tag = "1")]
936 pub context_id: u32,
937 }
938 #[derive(prost_helpers::AnyPB)]
940 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
941 pub struct PullTask {
942 #[prost(uint32, tag = "4")]
943 pub pull_task_count: u32,
944 }
945 #[derive(prost_helpers::AnyPB)]
947 #[derive(Clone, PartialEq, ::prost::Message)]
948 pub struct ReportTask {
949 #[prost(map = "uint32, message", tag = "3")]
950 pub table_stats_change: ::std::collections::HashMap<u32, super::TableStats>,
951 #[prost(uint64, tag = "4")]
952 pub task_id: u64,
953 #[prost(enumeration = "super::compact_task::TaskStatus", tag = "5")]
954 pub task_status: i32,
955 #[prost(message, repeated, tag = "6")]
956 pub sorted_output_ssts: ::prost::alloc::vec::Vec<super::SstableInfo>,
957 #[prost(map = "uint64, uint64", tag = "7")]
958 pub object_timestamps: ::std::collections::HashMap<u64, u64>,
959 }
960 #[derive(prost_helpers::AnyPB)]
962 #[derive(Clone, PartialEq, ::prost::Message)]
963 pub struct HeartBeat {
964 #[prost(message, repeated, tag = "2")]
965 pub progress: ::prost::alloc::vec::Vec<super::CompactTaskProgress>,
966 }
967 #[derive(prost_helpers::AnyPB)]
968 #[derive(Clone, PartialEq, ::prost::Oneof)]
969 pub enum Event {
970 #[prost(message, tag = "1")]
972 Register(Register),
973 #[prost(message, tag = "2")]
975 PullTask(PullTask),
976 #[prost(message, tag = "3")]
978 ReportTask(ReportTask),
979 #[prost(message, tag = "4")]
981 HeartBeat(HeartBeat),
982 }
983}
984#[derive(prost_helpers::AnyPB)]
985#[derive(Clone, PartialEq, ::prost::Message)]
986pub struct SubscribeCompactionEventResponse {
987 #[prost(uint64, tag = "7")]
988 pub create_at: u64,
989 #[prost(
990 oneof = "subscribe_compaction_event_response::Event",
991 tags = "1, 2, 3, 4, 5, 6"
992 )]
993 pub event: ::core::option::Option<subscribe_compaction_event_response::Event>,
994}
995pub mod subscribe_compaction_event_response {
997 #[derive(prost_helpers::AnyPB)]
1000 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1001 pub struct PullTaskAck {}
1002 #[derive(prost_helpers::AnyPB)]
1003 #[derive(Clone, PartialEq, ::prost::Oneof)]
1004 pub enum Event {
1005 #[prost(message, tag = "1")]
1006 CompactTask(super::CompactTask),
1007 #[prost(message, tag = "2")]
1008 VacuumTask(super::VacuumTask),
1009 #[prost(message, tag = "3")]
1010 FullScanTask(super::FullScanTask),
1011 #[prost(message, tag = "4")]
1012 ValidationTask(super::ValidationTask),
1013 #[prost(message, tag = "5")]
1014 CancelCompactTask(super::CancelCompactTask),
1015 #[prost(message, tag = "6")]
1016 PullTaskAck(PullTaskAck),
1017 }
1018}
1019#[derive(prost_helpers::AnyPB)]
1020#[derive(Clone, PartialEq, ::prost::Message)]
1021pub struct ReportCompactionTaskRequest {
1022 #[prost(oneof = "report_compaction_task_request::Event", tags = "1, 2")]
1023 pub event: ::core::option::Option<report_compaction_task_request::Event>,
1024}
1025pub mod report_compaction_task_request {
1027 #[derive(prost_helpers::AnyPB)]
1029 #[derive(Clone, PartialEq, ::prost::Message)]
1030 pub struct ReportTask {
1031 #[prost(message, optional, tag = "2")]
1032 pub compact_task: ::core::option::Option<super::CompactTask>,
1033 #[prost(map = "uint32, message", tag = "3")]
1034 pub table_stats_change: ::std::collections::HashMap<u32, super::TableStats>,
1035 #[prost(map = "uint64, uint64", tag = "4")]
1036 pub object_timestamps: ::std::collections::HashMap<u64, u64>,
1037 }
1038 #[derive(prost_helpers::AnyPB)]
1040 #[derive(Clone, PartialEq, ::prost::Message)]
1041 pub struct HeartBeat {
1042 #[prost(message, repeated, tag = "2")]
1043 pub progress: ::prost::alloc::vec::Vec<super::CompactTaskProgress>,
1044 }
1045 #[derive(prost_helpers::AnyPB)]
1046 #[derive(Clone, PartialEq, ::prost::Oneof)]
1047 pub enum Event {
1048 #[prost(message, tag = "1")]
1049 ReportTask(ReportTask),
1050 #[prost(message, tag = "2")]
1051 HeartBeat(HeartBeat),
1052 }
1053}
1054#[derive(prost_helpers::AnyPB)]
1055#[derive(Clone, PartialEq, ::prost::Message)]
1056pub struct ReportCompactionTaskResponse {
1057 #[prost(message, optional, tag = "1")]
1058 pub status: ::core::option::Option<super::common::Status>,
1059}
1060#[derive(prost_helpers::AnyPB)]
1061#[derive(Clone, PartialEq, ::prost::Message)]
1062pub struct ValidationTask {
1063 #[prost(message, repeated, tag = "1")]
1064 pub sst_infos: ::prost::alloc::vec::Vec<SstableInfo>,
1065 #[prost(map = "uint64, uint32", tag = "2")]
1066 pub sst_id_to_worker_id: ::std::collections::HashMap<u64, u32>,
1067}
1068#[derive(prost_helpers::AnyPB)]
1070#[derive(Clone, PartialEq, ::prost::Message)]
1071pub struct VacuumTask {
1072 #[prost(uint64, repeated, tag = "1")]
1073 pub sstable_object_ids: ::prost::alloc::vec::Vec<u64>,
1074}
1075#[derive(prost_helpers::AnyPB)]
1077#[derive(Clone, PartialEq, ::prost::Message)]
1078pub struct FullScanTask {
1079 #[prost(uint64, tag = "1")]
1080 pub sst_retention_watermark: u64,
1081 #[prost(string, optional, tag = "2")]
1082 pub prefix: ::core::option::Option<::prost::alloc::string::String>,
1083 #[prost(string, optional, tag = "3")]
1084 pub start_after: ::core::option::Option<::prost::alloc::string::String>,
1085 #[prost(uint64, optional, tag = "4")]
1086 pub limit: ::core::option::Option<u64>,
1087}
1088#[derive(prost_helpers::AnyPB)]
1090#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1091pub struct CancelCompactTask {
1092 #[prost(uint32, tag = "1")]
1093 pub context_id: u32,
1094 #[prost(uint64, tag = "2")]
1095 pub task_id: u64,
1096}
1097#[derive(prost_helpers::AnyPB)]
1098#[derive(Clone, PartialEq, ::prost::Message)]
1099pub struct TriggerManualCompactionRequest {
1100 #[prost(uint64, tag = "1")]
1101 pub compaction_group_id: u64,
1102 #[prost(message, optional, tag = "2")]
1103 pub key_range: ::core::option::Option<KeyRange>,
1104 #[prost(uint32, tag = "3")]
1105 pub table_id: u32,
1106 #[prost(uint32, tag = "4")]
1107 pub level: u32,
1108 #[prost(uint64, repeated, tag = "5")]
1109 pub sst_ids: ::prost::alloc::vec::Vec<u64>,
1110}
1111#[derive(prost_helpers::AnyPB)]
1112#[derive(Clone, PartialEq, ::prost::Message)]
1113pub struct TriggerManualCompactionResponse {
1114 #[prost(message, optional, tag = "1")]
1115 pub status: ::core::option::Option<super::common::Status>,
1116}
1117#[derive(prost_helpers::AnyPB)]
1118#[derive(Clone, PartialEq, ::prost::Message)]
1119pub struct TriggerFullGcRequest {
1120 #[prost(uint64, tag = "1")]
1121 pub sst_retention_time_sec: u64,
1122 #[prost(string, optional, tag = "2")]
1123 pub prefix: ::core::option::Option<::prost::alloc::string::String>,
1124}
1125#[derive(prost_helpers::AnyPB)]
1126#[derive(Clone, PartialEq, ::prost::Message)]
1127pub struct TriggerFullGcResponse {
1128 #[prost(message, optional, tag = "1")]
1129 pub status: ::core::option::Option<super::common::Status>,
1130}
1131#[derive(prost_helpers::AnyPB)]
1132#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1133pub struct ListVersionDeltasRequest {
1134 #[prost(uint64, tag = "1")]
1135 pub start_id: u64,
1136 #[prost(uint32, tag = "2")]
1137 pub num_limit: u32,
1138 #[prost(uint64, tag = "3")]
1139 pub committed_epoch_limit: u64,
1140}
1141#[derive(prost_helpers::AnyPB)]
1142#[derive(Clone, PartialEq, ::prost::Message)]
1143pub struct ListVersionDeltasResponse {
1144 #[prost(message, optional, tag = "1")]
1145 pub version_deltas: ::core::option::Option<HummockVersionDeltas>,
1146}
1147#[derive(prost_helpers::AnyPB)]
1148#[derive(Clone, PartialEq, ::prost::Message)]
1149pub struct PinnedVersionsSummary {
1150 #[prost(message, repeated, tag = "1")]
1151 pub pinned_versions: ::prost::alloc::vec::Vec<HummockPinnedVersion>,
1152 #[prost(map = "uint32, message", tag = "2")]
1153 pub workers: ::std::collections::HashMap<u32, super::common::WorkerNode>,
1154}
1155#[derive(prost_helpers::AnyPB)]
1156#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1157pub struct RiseCtlGetPinnedVersionsSummaryRequest {}
1158#[derive(prost_helpers::AnyPB)]
1159#[derive(Clone, PartialEq, ::prost::Message)]
1160pub struct RiseCtlGetPinnedVersionsSummaryResponse {
1161 #[prost(message, optional, tag = "1")]
1162 pub summary: ::core::option::Option<PinnedVersionsSummary>,
1163}
1164#[derive(prost_helpers::AnyPB)]
1165#[derive(Clone, PartialEq, ::prost::Message)]
1166pub struct InitMetadataForReplayRequest {
1167 #[prost(message, repeated, tag = "1")]
1168 pub tables: ::prost::alloc::vec::Vec<super::catalog::Table>,
1169 #[prost(message, repeated, tag = "2")]
1170 pub compaction_groups: ::prost::alloc::vec::Vec<CompactionGroupInfo>,
1171}
1172#[derive(prost_helpers::AnyPB)]
1173#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1174pub struct InitMetadataForReplayResponse {}
1175#[derive(prost_helpers::AnyPB)]
1176#[derive(Clone, PartialEq, ::prost::Message)]
1177pub struct ReplayVersionDeltaRequest {
1178 #[prost(message, optional, tag = "1")]
1179 pub version_delta: ::core::option::Option<HummockVersionDelta>,
1180}
1181#[derive(prost_helpers::AnyPB)]
1182#[derive(Clone, PartialEq, ::prost::Message)]
1183pub struct ReplayVersionDeltaResponse {
1184 #[prost(message, optional, tag = "1")]
1185 pub version: ::core::option::Option<HummockVersion>,
1186 #[prost(uint64, repeated, tag = "2")]
1187 pub modified_compaction_groups: ::prost::alloc::vec::Vec<u64>,
1188}
1189#[derive(prost_helpers::AnyPB)]
1190#[derive(Clone, PartialEq, ::prost::Message)]
1191pub struct TriggerCompactionDeterministicRequest {
1192 #[prost(uint64, tag = "1")]
1193 pub version_id: u64,
1194 #[prost(uint64, repeated, tag = "2")]
1195 pub compaction_groups: ::prost::alloc::vec::Vec<u64>,
1196}
1197#[derive(prost_helpers::AnyPB)]
1198#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1199pub struct TriggerCompactionDeterministicResponse {}
1200#[derive(prost_helpers::AnyPB)]
1201#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1202pub struct DisableCommitEpochRequest {}
1203#[derive(prost_helpers::AnyPB)]
1204#[derive(Clone, PartialEq, ::prost::Message)]
1205pub struct DisableCommitEpochResponse {
1206 #[prost(message, optional, tag = "1")]
1207 pub current_version: ::core::option::Option<HummockVersion>,
1208}
1209#[derive(prost_helpers::AnyPB)]
1210#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1211pub struct RiseCtlListCompactionGroupRequest {}
1212#[derive(prost_helpers::AnyPB)]
1213#[derive(Clone, PartialEq, ::prost::Message)]
1214pub struct RiseCtlListCompactionGroupResponse {
1215 #[prost(message, optional, tag = "1")]
1216 pub status: ::core::option::Option<super::common::Status>,
1217 #[prost(message, repeated, tag = "2")]
1218 pub compaction_groups: ::prost::alloc::vec::Vec<CompactionGroupInfo>,
1219}
1220#[derive(prost_helpers::AnyPB)]
1221#[derive(Clone, PartialEq, ::prost::Message)]
1222pub struct RiseCtlUpdateCompactionConfigRequest {
1223 #[prost(uint64, repeated, tag = "1")]
1224 pub compaction_group_ids: ::prost::alloc::vec::Vec<u64>,
1225 #[prost(message, repeated, tag = "2")]
1226 pub configs: ::prost::alloc::vec::Vec<
1227 rise_ctl_update_compaction_config_request::MutableConfig,
1228 >,
1229}
1230pub mod rise_ctl_update_compaction_config_request {
1232 #[derive(prost_helpers::AnyPB)]
1233 #[derive(Clone, PartialEq, ::prost::Message)]
1234 pub struct CompressionAlgorithm {
1235 #[prost(uint32, tag = "1")]
1236 pub level: u32,
1237 #[prost(string, tag = "2")]
1238 pub compression_algorithm: ::prost::alloc::string::String,
1239 }
1240 #[derive(prost_helpers::AnyPB)]
1241 #[derive(Clone, PartialEq, ::prost::Message)]
1242 pub struct MutableConfig {
1243 #[prost(
1244 oneof = "mutable_config::MutableConfig",
1245 tags = "1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30"
1246 )]
1247 pub mutable_config: ::core::option::Option<mutable_config::MutableConfig>,
1248 }
1249 pub mod mutable_config {
1251 #[derive(prost_helpers::AnyPB)]
1252 #[derive(Clone, PartialEq, ::prost::Oneof)]
1253 pub enum MutableConfig {
1254 #[prost(uint64, tag = "1")]
1255 MaxBytesForLevelBase(u64),
1256 #[prost(uint64, tag = "2")]
1257 MaxBytesForLevelMultiplier(u64),
1258 #[prost(uint64, tag = "3")]
1259 MaxCompactionBytes(u64),
1260 #[prost(uint64, tag = "4")]
1261 SubLevelMaxCompactionBytes(u64),
1262 #[prost(uint64, tag = "6")]
1263 Level0TierCompactFileNumber(u64),
1264 #[prost(uint64, tag = "7")]
1265 TargetFileSizeBase(u64),
1266 #[prost(uint32, tag = "8")]
1267 CompactionFilterMask(u32),
1268 #[prost(uint32, tag = "9")]
1269 MaxSubCompaction(u32),
1270 #[prost(uint64, tag = "10")]
1271 Level0StopWriteThresholdSubLevelNumber(u64),
1272 #[prost(uint32, tag = "11")]
1273 Level0SubLevelCompactLevelCount(u32),
1274 #[prost(uint32, tag = "12")]
1275 Level0OverlappingSubLevelCompactLevelCount(u32),
1276 #[prost(uint64, tag = "13")]
1277 MaxSpaceReclaimBytes(u64),
1278 #[prost(uint64, tag = "14")]
1279 Level0MaxCompactFileNumber(u64),
1280 #[prost(bool, tag = "15")]
1281 EnableEmergencyPicker(bool),
1282 #[prost(uint32, tag = "16")]
1283 TombstoneReclaimRatio(u32),
1284 #[prost(message, tag = "17")]
1285 CompressionAlgorithm(super::CompressionAlgorithm),
1286 #[prost(uint32, tag = "18")]
1287 MaxL0CompactLevelCount(u32),
1288 #[prost(uint64, tag = "19")]
1289 SstAllowedTrivialMoveMinSize(u64),
1290 #[prost(uint32, tag = "20")]
1291 SplitWeightByVnode(u32),
1292 #[prost(bool, tag = "21")]
1293 DisableAutoGroupScheduling(bool),
1294 #[prost(uint64, tag = "22")]
1295 MaxOverlappingLevelSize(u64),
1296 #[prost(uint32, tag = "25")]
1298 EmergencyLevel0SstFileCount(u32),
1299 #[prost(uint32, tag = "26")]
1301 EmergencyLevel0SubLevelPartition(u32),
1302 #[prost(uint32, tag = "27")]
1304 Level0StopWriteThresholdMaxSstCount(u32),
1305 #[prost(uint64, tag = "28")]
1307 Level0StopWriteThresholdMaxSize(u64),
1308 #[prost(uint32, tag = "29")]
1310 SstAllowedTrivialMoveMaxCount(u32),
1311 #[prost(bool, tag = "30")]
1313 EnableOptimizeL0IntervalSelection(bool),
1314 }
1315 }
1316}
1317#[derive(prost_helpers::AnyPB)]
1318#[derive(Clone, PartialEq, ::prost::Message)]
1319pub struct RiseCtlUpdateCompactionConfigResponse {
1320 #[prost(message, optional, tag = "1")]
1321 pub status: ::core::option::Option<super::common::Status>,
1322}
1323#[derive(prost_helpers::AnyPB)]
1324#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1325pub struct PinVersionRequest {
1326 #[prost(uint32, tag = "1")]
1327 pub context_id: u32,
1328}
1329#[derive(prost_helpers::AnyPB)]
1330#[derive(Clone, PartialEq, ::prost::Message)]
1331pub struct PinVersionResponse {
1332 #[prost(message, optional, tag = "1")]
1333 pub pinned_version: ::core::option::Option<HummockVersion>,
1334}
1335#[derive(prost_helpers::AnyPB)]
1336#[derive(Clone, PartialEq, ::prost::Message)]
1337pub struct SplitCompactionGroupRequest {
1338 #[prost(uint64, tag = "1")]
1339 pub group_id: u64,
1340 #[prost(uint32, repeated, tag = "2")]
1341 pub table_ids: ::prost::alloc::vec::Vec<u32>,
1342 #[prost(uint32, tag = "3")]
1343 pub partition_vnode_count: u32,
1344}
1345#[derive(prost_helpers::AnyPB)]
1346#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1347pub struct SplitCompactionGroupResponse {
1348 #[prost(uint64, tag = "1")]
1349 pub new_group_id: u64,
1350}
1351#[derive(prost_helpers::AnyPB)]
1352#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1353pub struct RiseCtlPauseVersionCheckpointRequest {}
1354#[derive(prost_helpers::AnyPB)]
1355#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1356pub struct RiseCtlPauseVersionCheckpointResponse {}
1357#[derive(prost_helpers::AnyPB)]
1358#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1359pub struct RiseCtlResumeVersionCheckpointRequest {}
1360#[derive(prost_helpers::AnyPB)]
1361#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1362pub struct RiseCtlResumeVersionCheckpointResponse {}
1363#[derive(prost_helpers::AnyPB)]
1364#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1365pub struct RiseCtlGetCheckpointVersionRequest {}
1366#[derive(prost_helpers::AnyPB)]
1367#[derive(Clone, PartialEq, ::prost::Message)]
1368pub struct RiseCtlGetCheckpointVersionResponse {
1369 #[prost(message, optional, tag = "1")]
1370 pub checkpoint_version: ::core::option::Option<HummockVersion>,
1371}
1372#[derive(prost_helpers::AnyPB)]
1373#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1374pub struct RiseCtlListCompactionStatusRequest {}
1375#[derive(prost_helpers::AnyPB)]
1376#[derive(Clone, PartialEq, ::prost::Message)]
1377pub struct RiseCtlListCompactionStatusResponse {
1378 #[prost(message, repeated, tag = "1")]
1379 pub compaction_statuses: ::prost::alloc::vec::Vec<CompactStatus>,
1380 #[prost(message, repeated, tag = "2")]
1381 pub task_assignment: ::prost::alloc::vec::Vec<CompactTaskAssignment>,
1382 #[prost(message, repeated, tag = "3")]
1383 pub task_progress: ::prost::alloc::vec::Vec<CompactTaskProgress>,
1384}
1385#[derive(prost_helpers::AnyPB)]
1386#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1387pub struct ListBranchedObjectRequest {}
1388#[derive(prost_helpers::AnyPB)]
1389#[derive(Clone, PartialEq, ::prost::Message)]
1390pub struct ListBranchedObjectResponse {
1391 #[prost(message, repeated, tag = "1")]
1392 pub branched_objects: ::prost::alloc::vec::Vec<BranchedObject>,
1393}
1394#[derive(prost_helpers::AnyPB)]
1395#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1396pub struct ListActiveWriteLimitRequest {}
1397#[derive(prost_helpers::AnyPB)]
1398#[derive(Clone, PartialEq, ::prost::Message)]
1399pub struct ListActiveWriteLimitResponse {
1400 #[prost(map = "uint64, message", tag = "1")]
1402 pub write_limits: ::std::collections::HashMap<u64, write_limits::WriteLimit>,
1403}
1404#[derive(prost_helpers::AnyPB)]
1405#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1406pub struct ListHummockMetaConfigRequest {}
1407#[derive(prost_helpers::AnyPB)]
1408#[derive(Clone, PartialEq, ::prost::Message)]
1409pub struct ListHummockMetaConfigResponse {
1410 #[prost(map = "string, string", tag = "1")]
1411 pub configs: ::std::collections::HashMap<
1412 ::prost::alloc::string::String,
1413 ::prost::alloc::string::String,
1414 >,
1415}
1416#[derive(prost_helpers::AnyPB)]
1417#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1418pub struct RiseCtlRebuildTableStatsRequest {}
1419#[derive(prost_helpers::AnyPB)]
1420#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1421pub struct RiseCtlRebuildTableStatsResponse {}
1422#[derive(prost_helpers::AnyPB)]
1423#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1424pub struct GetCompactionScoreRequest {
1425 #[prost(uint64, tag = "1")]
1426 pub compaction_group_id: u64,
1427}
1428#[derive(prost_helpers::AnyPB)]
1429#[derive(Clone, PartialEq, ::prost::Message)]
1430pub struct GetCompactionScoreResponse {
1431 #[prost(uint64, tag = "1")]
1432 pub compaction_group_id: u64,
1433 #[prost(message, repeated, tag = "2")]
1434 pub scores: ::prost::alloc::vec::Vec<get_compaction_score_response::PickerInfo>,
1435}
1436pub mod get_compaction_score_response {
1438 #[derive(prost_helpers::AnyPB)]
1439 #[derive(Clone, PartialEq, ::prost::Message)]
1440 pub struct PickerInfo {
1441 #[prost(uint64, tag = "1")]
1442 pub score: u64,
1443 #[prost(uint64, tag = "2")]
1444 pub select_level: u64,
1445 #[prost(uint64, tag = "3")]
1446 pub target_level: u64,
1447 #[prost(string, tag = "4")]
1448 pub picker_type: ::prost::alloc::string::String,
1449 }
1450}
1451#[derive(prost_helpers::AnyPB)]
1452#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1453pub struct ListCompactTaskAssignmentRequest {}
1454#[derive(prost_helpers::AnyPB)]
1455#[derive(Clone, PartialEq, ::prost::Message)]
1456pub struct ListCompactTaskAssignmentResponse {
1457 #[prost(message, repeated, tag = "1")]
1458 pub task_assignment: ::prost::alloc::vec::Vec<CompactTaskAssignment>,
1459}
1460#[derive(prost_helpers::AnyPB)]
1461#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1462pub struct ListCompactTaskProgressRequest {}
1463#[derive(prost_helpers::AnyPB)]
1464#[derive(Clone, PartialEq, ::prost::Message)]
1465pub struct ListCompactTaskProgressResponse {
1466 #[prost(message, repeated, tag = "1")]
1467 pub task_progress: ::prost::alloc::vec::Vec<CompactTaskProgress>,
1468}
1469#[derive(prost_helpers::AnyPB)]
1470#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1471pub struct CancelCompactTaskRequest {
1472 #[prost(uint64, tag = "1")]
1473 pub task_id: u64,
1474 #[prost(enumeration = "compact_task::TaskStatus", tag = "2")]
1475 pub task_status: i32,
1476}
1477#[derive(prost_helpers::AnyPB)]
1478#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1479pub struct CancelCompactTaskResponse {
1480 #[prost(bool, tag = "1")]
1481 pub ret: bool,
1482}
1483#[derive(prost_helpers::AnyPB)]
1484#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1485pub struct GetVersionByEpochRequest {
1486 #[prost(uint64, tag = "1")]
1487 pub epoch: u64,
1488 #[prost(uint32, tag = "2")]
1489 pub table_id: u32,
1490}
1491#[derive(prost_helpers::AnyPB)]
1492#[derive(Clone, PartialEq, ::prost::Message)]
1493pub struct GetVersionByEpochResponse {
1494 #[prost(message, optional, tag = "1")]
1495 pub version: ::core::option::Option<HummockVersion>,
1496}
1497#[derive(prost_helpers::AnyPB)]
1498#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1499pub struct MergeCompactionGroupRequest {
1500 #[prost(uint64, tag = "1")]
1501 pub left_group_id: u64,
1502 #[prost(uint64, tag = "2")]
1503 pub right_group_id: u64,
1504}
1505#[derive(prost_helpers::AnyPB)]
1506#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1507pub struct MergeCompactionGroupResponse {}
1508#[derive(prost_helpers::AnyPB)]
1509#[derive(Eq)]
1510#[derive(Clone, PartialEq, ::prost::Message)]
1511pub struct CompactionConfig {
1512 #[prost(uint64, tag = "1")]
1513 pub max_bytes_for_level_base: u64,
1514 #[prost(uint64, tag = "2")]
1515 pub max_level: u64,
1516 #[prost(uint64, tag = "3")]
1517 pub max_bytes_for_level_multiplier: u64,
1518 #[prost(uint64, tag = "4")]
1519 pub max_compaction_bytes: u64,
1520 #[prost(uint64, tag = "5")]
1521 pub sub_level_max_compaction_bytes: u64,
1522 #[prost(uint64, tag = "7")]
1523 pub level0_tier_compact_file_number: u64,
1524 #[prost(enumeration = "compaction_config::CompactionMode", tag = "8")]
1525 pub compaction_mode: i32,
1526 #[prost(string, repeated, tag = "9")]
1527 pub compression_algorithm: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1528 #[prost(uint64, tag = "10")]
1529 pub target_file_size_base: u64,
1530 #[prost(uint32, tag = "11")]
1531 pub compaction_filter_mask: u32,
1532 #[prost(uint32, tag = "12")]
1533 pub max_sub_compaction: u32,
1534 #[prost(uint64, tag = "13")]
1535 pub max_space_reclaim_bytes: u64,
1536 #[prost(bool, tag = "14")]
1537 pub split_by_state_table: bool,
1538 #[prost(uint32, tag = "6")]
1540 pub split_weight_by_vnode: u32,
1541 #[prost(uint64, tag = "15")]
1543 pub level0_stop_write_threshold_sub_level_number: u64,
1544 #[prost(uint64, tag = "16")]
1545 pub level0_max_compact_file_number: u64,
1546 #[prost(uint32, tag = "17")]
1547 pub level0_sub_level_compact_level_count: u32,
1548 #[prost(uint32, tag = "18")]
1550 pub level0_overlapping_sub_level_compact_level_count: u32,
1551 #[prost(uint32, tag = "19")]
1552 pub tombstone_reclaim_ratio: u32,
1553 #[prost(bool, tag = "20")]
1554 pub enable_emergency_picker: bool,
1555 #[prost(uint32, optional, tag = "21")]
1557 pub max_l0_compact_level_count: ::core::option::Option<u32>,
1558 #[prost(uint64, optional, tag = "22")]
1560 pub sst_allowed_trivial_move_min_size: ::core::option::Option<u64>,
1561 #[prost(bool, optional, tag = "23")]
1563 pub disable_auto_group_scheduling: ::core::option::Option<bool>,
1564 #[prost(uint64, optional, tag = "24")]
1567 pub max_overlapping_level_size: ::core::option::Option<u64>,
1568 #[prost(uint32, optional, tag = "25")]
1570 pub emergency_level0_sst_file_count: ::core::option::Option<u32>,
1571 #[prost(uint32, optional, tag = "26")]
1573 pub emergency_level0_sub_level_partition: ::core::option::Option<u32>,
1574 #[prost(uint32, optional, tag = "27")]
1576 pub level0_stop_write_threshold_max_sst_count: ::core::option::Option<u32>,
1577 #[prost(uint64, optional, tag = "28")]
1579 pub level0_stop_write_threshold_max_size: ::core::option::Option<u64>,
1580 #[prost(uint32, optional, tag = "29")]
1582 pub sst_allowed_trivial_move_max_count: ::core::option::Option<u32>,
1583 #[prost(bool, optional, tag = "30")]
1585 pub enable_optimize_l0_interval_selection: ::core::option::Option<bool>,
1586}
1587pub mod compaction_config {
1589 #[derive(prost_helpers::AnyPB)]
1590 #[derive(
1591 Clone,
1592 Copy,
1593 Debug,
1594 PartialEq,
1595 Eq,
1596 Hash,
1597 PartialOrd,
1598 Ord,
1599 ::prost::Enumeration
1600 )]
1601 #[repr(i32)]
1602 pub enum CompactionMode {
1603 Unspecified = 0,
1604 Range = 1,
1605 }
1606 impl CompactionMode {
1607 pub fn as_str_name(&self) -> &'static str {
1612 match self {
1613 Self::Unspecified => "UNSPECIFIED",
1614 Self::Range => "RANGE",
1615 }
1616 }
1617 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1619 match value {
1620 "UNSPECIFIED" => Some(Self::Unspecified),
1621 "RANGE" => Some(Self::Range),
1622 _ => None,
1623 }
1624 }
1625 }
1626}
1627#[derive(prost_helpers::AnyPB)]
1628#[derive(Eq)]
1629#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1630pub struct TableStats {
1631 #[prost(int64, tag = "1")]
1632 pub total_key_size: i64,
1633 #[prost(int64, tag = "2")]
1634 pub total_value_size: i64,
1635 #[prost(int64, tag = "3")]
1636 pub total_key_count: i64,
1637 #[prost(uint64, tag = "4")]
1640 pub total_compressed_size: u64,
1641}
1642#[derive(prost_helpers::AnyPB)]
1643#[derive(Clone, PartialEq, ::prost::Message)]
1644pub struct HummockVersionStats {
1645 #[prost(uint64, tag = "1")]
1646 pub hummock_version_id: u64,
1647 #[prost(map = "uint32, message", tag = "2")]
1648 pub table_stats: ::std::collections::HashMap<u32, TableStats>,
1649}
1650#[derive(prost_helpers::AnyPB)]
1651#[derive(Clone, PartialEq, ::prost::Message)]
1652pub struct WriteLimits {
1653 #[prost(map = "uint64, message", tag = "1")]
1655 pub write_limits: ::std::collections::HashMap<u64, write_limits::WriteLimit>,
1656}
1657pub mod write_limits {
1659 #[derive(prost_helpers::AnyPB)]
1660 #[derive(Clone, PartialEq, ::prost::Message)]
1661 pub struct WriteLimit {
1662 #[prost(uint32, repeated, tag = "1")]
1663 pub table_ids: ::prost::alloc::vec::Vec<u32>,
1664 #[prost(string, tag = "2")]
1665 pub reason: ::prost::alloc::string::String,
1666 }
1667}
1668#[derive(prost_helpers::AnyPB)]
1669#[derive(Clone, PartialEq, ::prost::Message)]
1670pub struct BranchedObject {
1671 #[prost(uint64, tag = "1")]
1672 pub object_id: u64,
1673 #[prost(uint64, repeated, tag = "2")]
1674 pub sst_id: ::prost::alloc::vec::Vec<u64>,
1675 #[prost(uint64, tag = "3")]
1677 pub compaction_group_id: u64,
1678}
1679#[derive(prost_helpers::AnyPB)]
1680#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1681#[repr(i32)]
1682pub enum BloomFilterType {
1683 BloomFilterUnspecified = 0,
1684 Sstable = 1,
1685 Blocked = 2,
1686}
1687impl BloomFilterType {
1688 pub fn as_str_name(&self) -> &'static str {
1693 match self {
1694 Self::BloomFilterUnspecified => "BLOOM_FILTER_UNSPECIFIED",
1695 Self::Sstable => "SSTABLE",
1696 Self::Blocked => "BLOCKED",
1697 }
1698 }
1699 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1701 match value {
1702 "BLOOM_FILTER_UNSPECIFIED" => Some(Self::BloomFilterUnspecified),
1703 "SSTABLE" => Some(Self::Sstable),
1704 "BLOCKED" => Some(Self::Blocked),
1705 _ => None,
1706 }
1707 }
1708}
1709#[derive(prost_helpers::AnyPB)]
1710#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1711#[repr(i32)]
1712pub enum LevelType {
1713 Unspecified = 0,
1714 Nonoverlapping = 1,
1715 Overlapping = 2,
1716}
1717impl LevelType {
1718 pub fn as_str_name(&self) -> &'static str {
1723 match self {
1724 Self::Unspecified => "LEVEL_TYPE_UNSPECIFIED",
1725 Self::Nonoverlapping => "LEVEL_TYPE_NONOVERLAPPING",
1726 Self::Overlapping => "LEVEL_TYPE_OVERLAPPING",
1727 }
1728 }
1729 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1731 match value {
1732 "LEVEL_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1733 "LEVEL_TYPE_NONOVERLAPPING" => Some(Self::Nonoverlapping),
1734 "LEVEL_TYPE_OVERLAPPING" => Some(Self::Overlapping),
1735 _ => None,
1736 }
1737 }
1738}
1739#[derive(prost_helpers::AnyPB)]
1740#[derive(prost_helpers::Version)]
1741#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1742#[repr(i32)]
1743pub enum CompatibilityVersion {
1744 VersionUnspecified = 0,
1745 NoTrivialSplit = 1,
1746 NoMemberTableIds = 2,
1747 SplitGroupByTableId = 3,
1748}
1749impl CompatibilityVersion {
1750 pub fn as_str_name(&self) -> &'static str {
1755 match self {
1756 Self::VersionUnspecified => "VERSION_UNSPECIFIED",
1757 Self::NoTrivialSplit => "NO_TRIVIAL_SPLIT",
1758 Self::NoMemberTableIds => "NO_MEMBER_TABLE_IDS",
1759 Self::SplitGroupByTableId => "SPLIT_GROUP_BY_TABLE_ID",
1760 }
1761 }
1762 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1764 match value {
1765 "VERSION_UNSPECIFIED" => Some(Self::VersionUnspecified),
1766 "NO_TRIVIAL_SPLIT" => Some(Self::NoTrivialSplit),
1767 "NO_MEMBER_TABLE_IDS" => Some(Self::NoMemberTableIds),
1768 "SPLIT_GROUP_BY_TABLE_ID" => Some(Self::SplitGroupByTableId),
1769 _ => None,
1770 }
1771 }
1772}
1773#[derive(prost_helpers::AnyPB)]
1774#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1775#[repr(i32)]
1776pub enum DistanceType {
1777 Unspecified = 0,
1778 L1 = 1,
1779 L2 = 2,
1780 Cosine = 3,
1781 InnerProduct = 4,
1782}
1783impl DistanceType {
1784 pub fn as_str_name(&self) -> &'static str {
1789 match self {
1790 Self::Unspecified => "DISTANCE_TYPE_UNSPECIFIED",
1791 Self::L1 => "DISTANCE_TYPE_L1",
1792 Self::L2 => "DISTANCE_TYPE_L2",
1793 Self::Cosine => "DISTANCE_TYPE_COSINE",
1794 Self::InnerProduct => "DISTANCE_TYPE_INNER_PRODUCT",
1795 }
1796 }
1797 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1799 match value {
1800 "DISTANCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1801 "DISTANCE_TYPE_L1" => Some(Self::L1),
1802 "DISTANCE_TYPE_L2" => Some(Self::L2),
1803 "DISTANCE_TYPE_COSINE" => Some(Self::Cosine),
1804 "DISTANCE_TYPE_INNER_PRODUCT" => Some(Self::InnerProduct),
1805 _ => None,
1806 }
1807 }
1808}
1809#[derive(prost_helpers::AnyPB)]
1810#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1811#[repr(i32)]
1812pub enum VectorIndexObjectType {
1813 VectorIndexObjectUnspecified = 0,
1814 VectorIndexObjectVector = 1,
1815}
1816impl VectorIndexObjectType {
1817 pub fn as_str_name(&self) -> &'static str {
1822 match self {
1823 Self::VectorIndexObjectUnspecified => "VECTOR_INDEX_OBJECT_UNSPECIFIED",
1824 Self::VectorIndexObjectVector => "VECTOR_INDEX_OBJECT_VECTOR",
1825 }
1826 }
1827 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1829 match value {
1830 "VECTOR_INDEX_OBJECT_UNSPECIFIED" => Some(Self::VectorIndexObjectUnspecified),
1831 "VECTOR_INDEX_OBJECT_VECTOR" => Some(Self::VectorIndexObjectVector),
1832 _ => None,
1833 }
1834 }
1835}
1836pub mod hummock_manager_service_client {
1838 #![allow(
1839 unused_variables,
1840 dead_code,
1841 missing_docs,
1842 clippy::wildcard_imports,
1843 clippy::let_unit_value,
1844 )]
1845 use tonic::codegen::*;
1846 use tonic::codegen::http::Uri;
1847 #[derive(Debug, Clone)]
1848 pub struct HummockManagerServiceClient<T> {
1849 inner: tonic::client::Grpc<T>,
1850 }
1851 impl HummockManagerServiceClient<tonic::transport::Channel> {
1852 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1854 where
1855 D: TryInto<tonic::transport::Endpoint>,
1856 D::Error: Into<StdError>,
1857 {
1858 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1859 Ok(Self::new(conn))
1860 }
1861 }
1862 impl<T> HummockManagerServiceClient<T>
1863 where
1864 T: tonic::client::GrpcService<tonic::body::BoxBody>,
1865 T::Error: Into<StdError>,
1866 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1867 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1868 {
1869 pub fn new(inner: T) -> Self {
1870 let inner = tonic::client::Grpc::new(inner);
1871 Self { inner }
1872 }
1873 pub fn with_origin(inner: T, origin: Uri) -> Self {
1874 let inner = tonic::client::Grpc::with_origin(inner, origin);
1875 Self { inner }
1876 }
1877 pub fn with_interceptor<F>(
1878 inner: T,
1879 interceptor: F,
1880 ) -> HummockManagerServiceClient<InterceptedService<T, F>>
1881 where
1882 F: tonic::service::Interceptor,
1883 T::ResponseBody: Default,
1884 T: tonic::codegen::Service<
1885 http::Request<tonic::body::BoxBody>,
1886 Response = http::Response<
1887 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1888 >,
1889 >,
1890 <T as tonic::codegen::Service<
1891 http::Request<tonic::body::BoxBody>,
1892 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1893 {
1894 HummockManagerServiceClient::new(InterceptedService::new(inner, interceptor))
1895 }
1896 #[must_use]
1901 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1902 self.inner = self.inner.send_compressed(encoding);
1903 self
1904 }
1905 #[must_use]
1907 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1908 self.inner = self.inner.accept_compressed(encoding);
1909 self
1910 }
1911 #[must_use]
1915 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1916 self.inner = self.inner.max_decoding_message_size(limit);
1917 self
1918 }
1919 #[must_use]
1923 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1924 self.inner = self.inner.max_encoding_message_size(limit);
1925 self
1926 }
1927 pub async fn unpin_version_before(
1928 &mut self,
1929 request: impl tonic::IntoRequest<super::UnpinVersionBeforeRequest>,
1930 ) -> std::result::Result<
1931 tonic::Response<super::UnpinVersionBeforeResponse>,
1932 tonic::Status,
1933 > {
1934 self.inner
1935 .ready()
1936 .await
1937 .map_err(|e| {
1938 tonic::Status::unknown(
1939 format!("Service was not ready: {}", e.into()),
1940 )
1941 })?;
1942 let codec = tonic::codec::ProstCodec::default();
1943 let path = http::uri::PathAndQuery::from_static(
1944 "/hummock.HummockManagerService/UnpinVersionBefore",
1945 );
1946 let mut req = request.into_request();
1947 req.extensions_mut()
1948 .insert(
1949 GrpcMethod::new(
1950 "hummock.HummockManagerService",
1951 "UnpinVersionBefore",
1952 ),
1953 );
1954 self.inner.unary(req, path, codec).await
1955 }
1956 pub async fn get_current_version(
1957 &mut self,
1958 request: impl tonic::IntoRequest<super::GetCurrentVersionRequest>,
1959 ) -> std::result::Result<
1960 tonic::Response<super::GetCurrentVersionResponse>,
1961 tonic::Status,
1962 > {
1963 self.inner
1964 .ready()
1965 .await
1966 .map_err(|e| {
1967 tonic::Status::unknown(
1968 format!("Service was not ready: {}", e.into()),
1969 )
1970 })?;
1971 let codec = tonic::codec::ProstCodec::default();
1972 let path = http::uri::PathAndQuery::from_static(
1973 "/hummock.HummockManagerService/GetCurrentVersion",
1974 );
1975 let mut req = request.into_request();
1976 req.extensions_mut()
1977 .insert(
1978 GrpcMethod::new("hummock.HummockManagerService", "GetCurrentVersion"),
1979 );
1980 self.inner.unary(req, path, codec).await
1981 }
1982 pub async fn list_version_deltas(
1983 &mut self,
1984 request: impl tonic::IntoRequest<super::ListVersionDeltasRequest>,
1985 ) -> std::result::Result<
1986 tonic::Response<super::ListVersionDeltasResponse>,
1987 tonic::Status,
1988 > {
1989 self.inner
1990 .ready()
1991 .await
1992 .map_err(|e| {
1993 tonic::Status::unknown(
1994 format!("Service was not ready: {}", e.into()),
1995 )
1996 })?;
1997 let codec = tonic::codec::ProstCodec::default();
1998 let path = http::uri::PathAndQuery::from_static(
1999 "/hummock.HummockManagerService/ListVersionDeltas",
2000 );
2001 let mut req = request.into_request();
2002 req.extensions_mut()
2003 .insert(
2004 GrpcMethod::new("hummock.HummockManagerService", "ListVersionDeltas"),
2005 );
2006 self.inner.unary(req, path, codec).await
2007 }
2008 pub async fn replay_version_delta(
2009 &mut self,
2010 request: impl tonic::IntoRequest<super::ReplayVersionDeltaRequest>,
2011 ) -> std::result::Result<
2012 tonic::Response<super::ReplayVersionDeltaResponse>,
2013 tonic::Status,
2014 > {
2015 self.inner
2016 .ready()
2017 .await
2018 .map_err(|e| {
2019 tonic::Status::unknown(
2020 format!("Service was not ready: {}", e.into()),
2021 )
2022 })?;
2023 let codec = tonic::codec::ProstCodec::default();
2024 let path = http::uri::PathAndQuery::from_static(
2025 "/hummock.HummockManagerService/ReplayVersionDelta",
2026 );
2027 let mut req = request.into_request();
2028 req.extensions_mut()
2029 .insert(
2030 GrpcMethod::new(
2031 "hummock.HummockManagerService",
2032 "ReplayVersionDelta",
2033 ),
2034 );
2035 self.inner.unary(req, path, codec).await
2036 }
2037 pub async fn get_assigned_compact_task_num(
2038 &mut self,
2039 request: impl tonic::IntoRequest<super::GetAssignedCompactTaskNumRequest>,
2040 ) -> std::result::Result<
2041 tonic::Response<super::GetAssignedCompactTaskNumResponse>,
2042 tonic::Status,
2043 > {
2044 self.inner
2045 .ready()
2046 .await
2047 .map_err(|e| {
2048 tonic::Status::unknown(
2049 format!("Service was not ready: {}", e.into()),
2050 )
2051 })?;
2052 let codec = tonic::codec::ProstCodec::default();
2053 let path = http::uri::PathAndQuery::from_static(
2054 "/hummock.HummockManagerService/GetAssignedCompactTaskNum",
2055 );
2056 let mut req = request.into_request();
2057 req.extensions_mut()
2058 .insert(
2059 GrpcMethod::new(
2060 "hummock.HummockManagerService",
2061 "GetAssignedCompactTaskNum",
2062 ),
2063 );
2064 self.inner.unary(req, path, codec).await
2065 }
2066 pub async fn trigger_compaction_deterministic(
2067 &mut self,
2068 request: impl tonic::IntoRequest<
2069 super::TriggerCompactionDeterministicRequest,
2070 >,
2071 ) -> std::result::Result<
2072 tonic::Response<super::TriggerCompactionDeterministicResponse>,
2073 tonic::Status,
2074 > {
2075 self.inner
2076 .ready()
2077 .await
2078 .map_err(|e| {
2079 tonic::Status::unknown(
2080 format!("Service was not ready: {}", e.into()),
2081 )
2082 })?;
2083 let codec = tonic::codec::ProstCodec::default();
2084 let path = http::uri::PathAndQuery::from_static(
2085 "/hummock.HummockManagerService/TriggerCompactionDeterministic",
2086 );
2087 let mut req = request.into_request();
2088 req.extensions_mut()
2089 .insert(
2090 GrpcMethod::new(
2091 "hummock.HummockManagerService",
2092 "TriggerCompactionDeterministic",
2093 ),
2094 );
2095 self.inner.unary(req, path, codec).await
2096 }
2097 pub async fn disable_commit_epoch(
2098 &mut self,
2099 request: impl tonic::IntoRequest<super::DisableCommitEpochRequest>,
2100 ) -> std::result::Result<
2101 tonic::Response<super::DisableCommitEpochResponse>,
2102 tonic::Status,
2103 > {
2104 self.inner
2105 .ready()
2106 .await
2107 .map_err(|e| {
2108 tonic::Status::unknown(
2109 format!("Service was not ready: {}", e.into()),
2110 )
2111 })?;
2112 let codec = tonic::codec::ProstCodec::default();
2113 let path = http::uri::PathAndQuery::from_static(
2114 "/hummock.HummockManagerService/DisableCommitEpoch",
2115 );
2116 let mut req = request.into_request();
2117 req.extensions_mut()
2118 .insert(
2119 GrpcMethod::new(
2120 "hummock.HummockManagerService",
2121 "DisableCommitEpoch",
2122 ),
2123 );
2124 self.inner.unary(req, path, codec).await
2125 }
2126 pub async fn get_new_object_ids(
2127 &mut self,
2128 request: impl tonic::IntoRequest<super::GetNewObjectIdsRequest>,
2129 ) -> std::result::Result<
2130 tonic::Response<super::GetNewObjectIdsResponse>,
2131 tonic::Status,
2132 > {
2133 self.inner
2134 .ready()
2135 .await
2136 .map_err(|e| {
2137 tonic::Status::unknown(
2138 format!("Service was not ready: {}", e.into()),
2139 )
2140 })?;
2141 let codec = tonic::codec::ProstCodec::default();
2142 let path = http::uri::PathAndQuery::from_static(
2143 "/hummock.HummockManagerService/GetNewObjectIds",
2144 );
2145 let mut req = request.into_request();
2146 req.extensions_mut()
2147 .insert(
2148 GrpcMethod::new("hummock.HummockManagerService", "GetNewObjectIds"),
2149 );
2150 self.inner.unary(req, path, codec).await
2151 }
2152 pub async fn trigger_manual_compaction(
2153 &mut self,
2154 request: impl tonic::IntoRequest<super::TriggerManualCompactionRequest>,
2155 ) -> std::result::Result<
2156 tonic::Response<super::TriggerManualCompactionResponse>,
2157 tonic::Status,
2158 > {
2159 self.inner
2160 .ready()
2161 .await
2162 .map_err(|e| {
2163 tonic::Status::unknown(
2164 format!("Service was not ready: {}", e.into()),
2165 )
2166 })?;
2167 let codec = tonic::codec::ProstCodec::default();
2168 let path = http::uri::PathAndQuery::from_static(
2169 "/hummock.HummockManagerService/TriggerManualCompaction",
2170 );
2171 let mut req = request.into_request();
2172 req.extensions_mut()
2173 .insert(
2174 GrpcMethod::new(
2175 "hummock.HummockManagerService",
2176 "TriggerManualCompaction",
2177 ),
2178 );
2179 self.inner.unary(req, path, codec).await
2180 }
2181 pub async fn trigger_full_gc(
2182 &mut self,
2183 request: impl tonic::IntoRequest<super::TriggerFullGcRequest>,
2184 ) -> std::result::Result<
2185 tonic::Response<super::TriggerFullGcResponse>,
2186 tonic::Status,
2187 > {
2188 self.inner
2189 .ready()
2190 .await
2191 .map_err(|e| {
2192 tonic::Status::unknown(
2193 format!("Service was not ready: {}", e.into()),
2194 )
2195 })?;
2196 let codec = tonic::codec::ProstCodec::default();
2197 let path = http::uri::PathAndQuery::from_static(
2198 "/hummock.HummockManagerService/TriggerFullGC",
2199 );
2200 let mut req = request.into_request();
2201 req.extensions_mut()
2202 .insert(
2203 GrpcMethod::new("hummock.HummockManagerService", "TriggerFullGC"),
2204 );
2205 self.inner.unary(req, path, codec).await
2206 }
2207 pub async fn rise_ctl_get_pinned_versions_summary(
2208 &mut self,
2209 request: impl tonic::IntoRequest<
2210 super::RiseCtlGetPinnedVersionsSummaryRequest,
2211 >,
2212 ) -> std::result::Result<
2213 tonic::Response<super::RiseCtlGetPinnedVersionsSummaryResponse>,
2214 tonic::Status,
2215 > {
2216 self.inner
2217 .ready()
2218 .await
2219 .map_err(|e| {
2220 tonic::Status::unknown(
2221 format!("Service was not ready: {}", e.into()),
2222 )
2223 })?;
2224 let codec = tonic::codec::ProstCodec::default();
2225 let path = http::uri::PathAndQuery::from_static(
2226 "/hummock.HummockManagerService/RiseCtlGetPinnedVersionsSummary",
2227 );
2228 let mut req = request.into_request();
2229 req.extensions_mut()
2230 .insert(
2231 GrpcMethod::new(
2232 "hummock.HummockManagerService",
2233 "RiseCtlGetPinnedVersionsSummary",
2234 ),
2235 );
2236 self.inner.unary(req, path, codec).await
2237 }
2238 pub async fn rise_ctl_list_compaction_group(
2239 &mut self,
2240 request: impl tonic::IntoRequest<super::RiseCtlListCompactionGroupRequest>,
2241 ) -> std::result::Result<
2242 tonic::Response<super::RiseCtlListCompactionGroupResponse>,
2243 tonic::Status,
2244 > {
2245 self.inner
2246 .ready()
2247 .await
2248 .map_err(|e| {
2249 tonic::Status::unknown(
2250 format!("Service was not ready: {}", e.into()),
2251 )
2252 })?;
2253 let codec = tonic::codec::ProstCodec::default();
2254 let path = http::uri::PathAndQuery::from_static(
2255 "/hummock.HummockManagerService/RiseCtlListCompactionGroup",
2256 );
2257 let mut req = request.into_request();
2258 req.extensions_mut()
2259 .insert(
2260 GrpcMethod::new(
2261 "hummock.HummockManagerService",
2262 "RiseCtlListCompactionGroup",
2263 ),
2264 );
2265 self.inner.unary(req, path, codec).await
2266 }
2267 pub async fn rise_ctl_update_compaction_config(
2268 &mut self,
2269 request: impl tonic::IntoRequest<super::RiseCtlUpdateCompactionConfigRequest>,
2270 ) -> std::result::Result<
2271 tonic::Response<super::RiseCtlUpdateCompactionConfigResponse>,
2272 tonic::Status,
2273 > {
2274 self.inner
2275 .ready()
2276 .await
2277 .map_err(|e| {
2278 tonic::Status::unknown(
2279 format!("Service was not ready: {}", e.into()),
2280 )
2281 })?;
2282 let codec = tonic::codec::ProstCodec::default();
2283 let path = http::uri::PathAndQuery::from_static(
2284 "/hummock.HummockManagerService/RiseCtlUpdateCompactionConfig",
2285 );
2286 let mut req = request.into_request();
2287 req.extensions_mut()
2288 .insert(
2289 GrpcMethod::new(
2290 "hummock.HummockManagerService",
2291 "RiseCtlUpdateCompactionConfig",
2292 ),
2293 );
2294 self.inner.unary(req, path, codec).await
2295 }
2296 pub async fn rise_ctl_pause_version_checkpoint(
2297 &mut self,
2298 request: impl tonic::IntoRequest<super::RiseCtlPauseVersionCheckpointRequest>,
2299 ) -> std::result::Result<
2300 tonic::Response<super::RiseCtlPauseVersionCheckpointResponse>,
2301 tonic::Status,
2302 > {
2303 self.inner
2304 .ready()
2305 .await
2306 .map_err(|e| {
2307 tonic::Status::unknown(
2308 format!("Service was not ready: {}", e.into()),
2309 )
2310 })?;
2311 let codec = tonic::codec::ProstCodec::default();
2312 let path = http::uri::PathAndQuery::from_static(
2313 "/hummock.HummockManagerService/RiseCtlPauseVersionCheckpoint",
2314 );
2315 let mut req = request.into_request();
2316 req.extensions_mut()
2317 .insert(
2318 GrpcMethod::new(
2319 "hummock.HummockManagerService",
2320 "RiseCtlPauseVersionCheckpoint",
2321 ),
2322 );
2323 self.inner.unary(req, path, codec).await
2324 }
2325 pub async fn rise_ctl_resume_version_checkpoint(
2326 &mut self,
2327 request: impl tonic::IntoRequest<
2328 super::RiseCtlResumeVersionCheckpointRequest,
2329 >,
2330 ) -> std::result::Result<
2331 tonic::Response<super::RiseCtlResumeVersionCheckpointResponse>,
2332 tonic::Status,
2333 > {
2334 self.inner
2335 .ready()
2336 .await
2337 .map_err(|e| {
2338 tonic::Status::unknown(
2339 format!("Service was not ready: {}", e.into()),
2340 )
2341 })?;
2342 let codec = tonic::codec::ProstCodec::default();
2343 let path = http::uri::PathAndQuery::from_static(
2344 "/hummock.HummockManagerService/RiseCtlResumeVersionCheckpoint",
2345 );
2346 let mut req = request.into_request();
2347 req.extensions_mut()
2348 .insert(
2349 GrpcMethod::new(
2350 "hummock.HummockManagerService",
2351 "RiseCtlResumeVersionCheckpoint",
2352 ),
2353 );
2354 self.inner.unary(req, path, codec).await
2355 }
2356 pub async fn rise_ctl_get_checkpoint_version(
2357 &mut self,
2358 request: impl tonic::IntoRequest<super::RiseCtlGetCheckpointVersionRequest>,
2359 ) -> std::result::Result<
2360 tonic::Response<super::RiseCtlGetCheckpointVersionResponse>,
2361 tonic::Status,
2362 > {
2363 self.inner
2364 .ready()
2365 .await
2366 .map_err(|e| {
2367 tonic::Status::unknown(
2368 format!("Service was not ready: {}", e.into()),
2369 )
2370 })?;
2371 let codec = tonic::codec::ProstCodec::default();
2372 let path = http::uri::PathAndQuery::from_static(
2373 "/hummock.HummockManagerService/RiseCtlGetCheckpointVersion",
2374 );
2375 let mut req = request.into_request();
2376 req.extensions_mut()
2377 .insert(
2378 GrpcMethod::new(
2379 "hummock.HummockManagerService",
2380 "RiseCtlGetCheckpointVersion",
2381 ),
2382 );
2383 self.inner.unary(req, path, codec).await
2384 }
2385 pub async fn rise_ctl_rebuild_table_stats(
2386 &mut self,
2387 request: impl tonic::IntoRequest<super::RiseCtlRebuildTableStatsRequest>,
2388 ) -> std::result::Result<
2389 tonic::Response<super::RiseCtlRebuildTableStatsResponse>,
2390 tonic::Status,
2391 > {
2392 self.inner
2393 .ready()
2394 .await
2395 .map_err(|e| {
2396 tonic::Status::unknown(
2397 format!("Service was not ready: {}", e.into()),
2398 )
2399 })?;
2400 let codec = tonic::codec::ProstCodec::default();
2401 let path = http::uri::PathAndQuery::from_static(
2402 "/hummock.HummockManagerService/RiseCtlRebuildTableStats",
2403 );
2404 let mut req = request.into_request();
2405 req.extensions_mut()
2406 .insert(
2407 GrpcMethod::new(
2408 "hummock.HummockManagerService",
2409 "RiseCtlRebuildTableStats",
2410 ),
2411 );
2412 self.inner.unary(req, path, codec).await
2413 }
2414 pub async fn init_metadata_for_replay(
2415 &mut self,
2416 request: impl tonic::IntoRequest<super::InitMetadataForReplayRequest>,
2417 ) -> std::result::Result<
2418 tonic::Response<super::InitMetadataForReplayResponse>,
2419 tonic::Status,
2420 > {
2421 self.inner
2422 .ready()
2423 .await
2424 .map_err(|e| {
2425 tonic::Status::unknown(
2426 format!("Service was not ready: {}", e.into()),
2427 )
2428 })?;
2429 let codec = tonic::codec::ProstCodec::default();
2430 let path = http::uri::PathAndQuery::from_static(
2431 "/hummock.HummockManagerService/InitMetadataForReplay",
2432 );
2433 let mut req = request.into_request();
2434 req.extensions_mut()
2435 .insert(
2436 GrpcMethod::new(
2437 "hummock.HummockManagerService",
2438 "InitMetadataForReplay",
2439 ),
2440 );
2441 self.inner.unary(req, path, codec).await
2442 }
2443 pub async fn pin_version(
2444 &mut self,
2445 request: impl tonic::IntoRequest<super::PinVersionRequest>,
2446 ) -> std::result::Result<
2447 tonic::Response<super::PinVersionResponse>,
2448 tonic::Status,
2449 > {
2450 self.inner
2451 .ready()
2452 .await
2453 .map_err(|e| {
2454 tonic::Status::unknown(
2455 format!("Service was not ready: {}", e.into()),
2456 )
2457 })?;
2458 let codec = tonic::codec::ProstCodec::default();
2459 let path = http::uri::PathAndQuery::from_static(
2460 "/hummock.HummockManagerService/PinVersion",
2461 );
2462 let mut req = request.into_request();
2463 req.extensions_mut()
2464 .insert(GrpcMethod::new("hummock.HummockManagerService", "PinVersion"));
2465 self.inner.unary(req, path, codec).await
2466 }
2467 pub async fn split_compaction_group(
2468 &mut self,
2469 request: impl tonic::IntoRequest<super::SplitCompactionGroupRequest>,
2470 ) -> std::result::Result<
2471 tonic::Response<super::SplitCompactionGroupResponse>,
2472 tonic::Status,
2473 > {
2474 self.inner
2475 .ready()
2476 .await
2477 .map_err(|e| {
2478 tonic::Status::unknown(
2479 format!("Service was not ready: {}", e.into()),
2480 )
2481 })?;
2482 let codec = tonic::codec::ProstCodec::default();
2483 let path = http::uri::PathAndQuery::from_static(
2484 "/hummock.HummockManagerService/SplitCompactionGroup",
2485 );
2486 let mut req = request.into_request();
2487 req.extensions_mut()
2488 .insert(
2489 GrpcMethod::new(
2490 "hummock.HummockManagerService",
2491 "SplitCompactionGroup",
2492 ),
2493 );
2494 self.inner.unary(req, path, codec).await
2495 }
2496 pub async fn rise_ctl_list_compaction_status(
2497 &mut self,
2498 request: impl tonic::IntoRequest<super::RiseCtlListCompactionStatusRequest>,
2499 ) -> std::result::Result<
2500 tonic::Response<super::RiseCtlListCompactionStatusResponse>,
2501 tonic::Status,
2502 > {
2503 self.inner
2504 .ready()
2505 .await
2506 .map_err(|e| {
2507 tonic::Status::unknown(
2508 format!("Service was not ready: {}", e.into()),
2509 )
2510 })?;
2511 let codec = tonic::codec::ProstCodec::default();
2512 let path = http::uri::PathAndQuery::from_static(
2513 "/hummock.HummockManagerService/RiseCtlListCompactionStatus",
2514 );
2515 let mut req = request.into_request();
2516 req.extensions_mut()
2517 .insert(
2518 GrpcMethod::new(
2519 "hummock.HummockManagerService",
2520 "RiseCtlListCompactionStatus",
2521 ),
2522 );
2523 self.inner.unary(req, path, codec).await
2524 }
2525 pub async fn subscribe_compaction_event(
2526 &mut self,
2527 request: impl tonic::IntoStreamingRequest<
2528 Message = super::SubscribeCompactionEventRequest,
2529 >,
2530 ) -> std::result::Result<
2531 tonic::Response<
2532 tonic::codec::Streaming<super::SubscribeCompactionEventResponse>,
2533 >,
2534 tonic::Status,
2535 > {
2536 self.inner
2537 .ready()
2538 .await
2539 .map_err(|e| {
2540 tonic::Status::unknown(
2541 format!("Service was not ready: {}", e.into()),
2542 )
2543 })?;
2544 let codec = tonic::codec::ProstCodec::default();
2545 let path = http::uri::PathAndQuery::from_static(
2546 "/hummock.HummockManagerService/SubscribeCompactionEvent",
2547 );
2548 let mut req = request.into_streaming_request();
2549 req.extensions_mut()
2550 .insert(
2551 GrpcMethod::new(
2552 "hummock.HummockManagerService",
2553 "SubscribeCompactionEvent",
2554 ),
2555 );
2556 self.inner.streaming(req, path, codec).await
2557 }
2558 pub async fn report_compaction_task(
2559 &mut self,
2560 request: impl tonic::IntoRequest<super::ReportCompactionTaskRequest>,
2561 ) -> std::result::Result<
2562 tonic::Response<super::ReportCompactionTaskResponse>,
2563 tonic::Status,
2564 > {
2565 self.inner
2566 .ready()
2567 .await
2568 .map_err(|e| {
2569 tonic::Status::unknown(
2570 format!("Service was not ready: {}", e.into()),
2571 )
2572 })?;
2573 let codec = tonic::codec::ProstCodec::default();
2574 let path = http::uri::PathAndQuery::from_static(
2575 "/hummock.HummockManagerService/ReportCompactionTask",
2576 );
2577 let mut req = request.into_request();
2578 req.extensions_mut()
2579 .insert(
2580 GrpcMethod::new(
2581 "hummock.HummockManagerService",
2582 "ReportCompactionTask",
2583 ),
2584 );
2585 self.inner.unary(req, path, codec).await
2586 }
2587 pub async fn list_branched_object(
2588 &mut self,
2589 request: impl tonic::IntoRequest<super::ListBranchedObjectRequest>,
2590 ) -> std::result::Result<
2591 tonic::Response<super::ListBranchedObjectResponse>,
2592 tonic::Status,
2593 > {
2594 self.inner
2595 .ready()
2596 .await
2597 .map_err(|e| {
2598 tonic::Status::unknown(
2599 format!("Service was not ready: {}", e.into()),
2600 )
2601 })?;
2602 let codec = tonic::codec::ProstCodec::default();
2603 let path = http::uri::PathAndQuery::from_static(
2604 "/hummock.HummockManagerService/ListBranchedObject",
2605 );
2606 let mut req = request.into_request();
2607 req.extensions_mut()
2608 .insert(
2609 GrpcMethod::new(
2610 "hummock.HummockManagerService",
2611 "ListBranchedObject",
2612 ),
2613 );
2614 self.inner.unary(req, path, codec).await
2615 }
2616 pub async fn list_active_write_limit(
2617 &mut self,
2618 request: impl tonic::IntoRequest<super::ListActiveWriteLimitRequest>,
2619 ) -> std::result::Result<
2620 tonic::Response<super::ListActiveWriteLimitResponse>,
2621 tonic::Status,
2622 > {
2623 self.inner
2624 .ready()
2625 .await
2626 .map_err(|e| {
2627 tonic::Status::unknown(
2628 format!("Service was not ready: {}", e.into()),
2629 )
2630 })?;
2631 let codec = tonic::codec::ProstCodec::default();
2632 let path = http::uri::PathAndQuery::from_static(
2633 "/hummock.HummockManagerService/ListActiveWriteLimit",
2634 );
2635 let mut req = request.into_request();
2636 req.extensions_mut()
2637 .insert(
2638 GrpcMethod::new(
2639 "hummock.HummockManagerService",
2640 "ListActiveWriteLimit",
2641 ),
2642 );
2643 self.inner.unary(req, path, codec).await
2644 }
2645 pub async fn list_hummock_meta_config(
2646 &mut self,
2647 request: impl tonic::IntoRequest<super::ListHummockMetaConfigRequest>,
2648 ) -> std::result::Result<
2649 tonic::Response<super::ListHummockMetaConfigResponse>,
2650 tonic::Status,
2651 > {
2652 self.inner
2653 .ready()
2654 .await
2655 .map_err(|e| {
2656 tonic::Status::unknown(
2657 format!("Service was not ready: {}", e.into()),
2658 )
2659 })?;
2660 let codec = tonic::codec::ProstCodec::default();
2661 let path = http::uri::PathAndQuery::from_static(
2662 "/hummock.HummockManagerService/ListHummockMetaConfig",
2663 );
2664 let mut req = request.into_request();
2665 req.extensions_mut()
2666 .insert(
2667 GrpcMethod::new(
2668 "hummock.HummockManagerService",
2669 "ListHummockMetaConfig",
2670 ),
2671 );
2672 self.inner.unary(req, path, codec).await
2673 }
2674 pub async fn get_compaction_score(
2675 &mut self,
2676 request: impl tonic::IntoRequest<super::GetCompactionScoreRequest>,
2677 ) -> std::result::Result<
2678 tonic::Response<super::GetCompactionScoreResponse>,
2679 tonic::Status,
2680 > {
2681 self.inner
2682 .ready()
2683 .await
2684 .map_err(|e| {
2685 tonic::Status::unknown(
2686 format!("Service was not ready: {}", e.into()),
2687 )
2688 })?;
2689 let codec = tonic::codec::ProstCodec::default();
2690 let path = http::uri::PathAndQuery::from_static(
2691 "/hummock.HummockManagerService/GetCompactionScore",
2692 );
2693 let mut req = request.into_request();
2694 req.extensions_mut()
2695 .insert(
2696 GrpcMethod::new(
2697 "hummock.HummockManagerService",
2698 "GetCompactionScore",
2699 ),
2700 );
2701 self.inner.unary(req, path, codec).await
2702 }
2703 pub async fn list_compact_task_assignment(
2704 &mut self,
2705 request: impl tonic::IntoRequest<super::ListCompactTaskAssignmentRequest>,
2706 ) -> std::result::Result<
2707 tonic::Response<super::ListCompactTaskAssignmentResponse>,
2708 tonic::Status,
2709 > {
2710 self.inner
2711 .ready()
2712 .await
2713 .map_err(|e| {
2714 tonic::Status::unknown(
2715 format!("Service was not ready: {}", e.into()),
2716 )
2717 })?;
2718 let codec = tonic::codec::ProstCodec::default();
2719 let path = http::uri::PathAndQuery::from_static(
2720 "/hummock.HummockManagerService/ListCompactTaskAssignment",
2721 );
2722 let mut req = request.into_request();
2723 req.extensions_mut()
2724 .insert(
2725 GrpcMethod::new(
2726 "hummock.HummockManagerService",
2727 "ListCompactTaskAssignment",
2728 ),
2729 );
2730 self.inner.unary(req, path, codec).await
2731 }
2732 pub async fn list_compact_task_progress(
2733 &mut self,
2734 request: impl tonic::IntoRequest<super::ListCompactTaskProgressRequest>,
2735 ) -> std::result::Result<
2736 tonic::Response<super::ListCompactTaskProgressResponse>,
2737 tonic::Status,
2738 > {
2739 self.inner
2740 .ready()
2741 .await
2742 .map_err(|e| {
2743 tonic::Status::unknown(
2744 format!("Service was not ready: {}", e.into()),
2745 )
2746 })?;
2747 let codec = tonic::codec::ProstCodec::default();
2748 let path = http::uri::PathAndQuery::from_static(
2749 "/hummock.HummockManagerService/ListCompactTaskProgress",
2750 );
2751 let mut req = request.into_request();
2752 req.extensions_mut()
2753 .insert(
2754 GrpcMethod::new(
2755 "hummock.HummockManagerService",
2756 "ListCompactTaskProgress",
2757 ),
2758 );
2759 self.inner.unary(req, path, codec).await
2760 }
2761 pub async fn cancel_compact_task(
2762 &mut self,
2763 request: impl tonic::IntoRequest<super::CancelCompactTaskRequest>,
2764 ) -> std::result::Result<
2765 tonic::Response<super::CancelCompactTaskResponse>,
2766 tonic::Status,
2767 > {
2768 self.inner
2769 .ready()
2770 .await
2771 .map_err(|e| {
2772 tonic::Status::unknown(
2773 format!("Service was not ready: {}", e.into()),
2774 )
2775 })?;
2776 let codec = tonic::codec::ProstCodec::default();
2777 let path = http::uri::PathAndQuery::from_static(
2778 "/hummock.HummockManagerService/CancelCompactTask",
2779 );
2780 let mut req = request.into_request();
2781 req.extensions_mut()
2782 .insert(
2783 GrpcMethod::new("hummock.HummockManagerService", "CancelCompactTask"),
2784 );
2785 self.inner.unary(req, path, codec).await
2786 }
2787 pub async fn get_version_by_epoch(
2788 &mut self,
2789 request: impl tonic::IntoRequest<super::GetVersionByEpochRequest>,
2790 ) -> std::result::Result<
2791 tonic::Response<super::GetVersionByEpochResponse>,
2792 tonic::Status,
2793 > {
2794 self.inner
2795 .ready()
2796 .await
2797 .map_err(|e| {
2798 tonic::Status::unknown(
2799 format!("Service was not ready: {}", e.into()),
2800 )
2801 })?;
2802 let codec = tonic::codec::ProstCodec::default();
2803 let path = http::uri::PathAndQuery::from_static(
2804 "/hummock.HummockManagerService/GetVersionByEpoch",
2805 );
2806 let mut req = request.into_request();
2807 req.extensions_mut()
2808 .insert(
2809 GrpcMethod::new("hummock.HummockManagerService", "GetVersionByEpoch"),
2810 );
2811 self.inner.unary(req, path, codec).await
2812 }
2813 pub async fn merge_compaction_group(
2814 &mut self,
2815 request: impl tonic::IntoRequest<super::MergeCompactionGroupRequest>,
2816 ) -> std::result::Result<
2817 tonic::Response<super::MergeCompactionGroupResponse>,
2818 tonic::Status,
2819 > {
2820 self.inner
2821 .ready()
2822 .await
2823 .map_err(|e| {
2824 tonic::Status::unknown(
2825 format!("Service was not ready: {}", e.into()),
2826 )
2827 })?;
2828 let codec = tonic::codec::ProstCodec::default();
2829 let path = http::uri::PathAndQuery::from_static(
2830 "/hummock.HummockManagerService/MergeCompactionGroup",
2831 );
2832 let mut req = request.into_request();
2833 req.extensions_mut()
2834 .insert(
2835 GrpcMethod::new(
2836 "hummock.HummockManagerService",
2837 "MergeCompactionGroup",
2838 ),
2839 );
2840 self.inner.unary(req, path, codec).await
2841 }
2842 pub async fn subscribe_iceberg_compaction_event(
2844 &mut self,
2845 request: impl tonic::IntoStreamingRequest<
2846 Message = super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
2847 >,
2848 ) -> std::result::Result<
2849 tonic::Response<
2850 tonic::codec::Streaming<
2851 super::super::iceberg_compaction::SubscribeIcebergCompactionEventResponse,
2852 >,
2853 >,
2854 tonic::Status,
2855 > {
2856 self.inner
2857 .ready()
2858 .await
2859 .map_err(|e| {
2860 tonic::Status::unknown(
2861 format!("Service was not ready: {}", e.into()),
2862 )
2863 })?;
2864 let codec = tonic::codec::ProstCodec::default();
2865 let path = http::uri::PathAndQuery::from_static(
2866 "/hummock.HummockManagerService/SubscribeIcebergCompactionEvent",
2867 );
2868 let mut req = request.into_streaming_request();
2869 req.extensions_mut()
2870 .insert(
2871 GrpcMethod::new(
2872 "hummock.HummockManagerService",
2873 "SubscribeIcebergCompactionEvent",
2874 ),
2875 );
2876 self.inner.streaming(req, path, codec).await
2877 }
2878 }
2879}
2880pub mod hummock_manager_service_server {
2882 #![allow(
2883 unused_variables,
2884 dead_code,
2885 missing_docs,
2886 clippy::wildcard_imports,
2887 clippy::let_unit_value,
2888 )]
2889 use tonic::codegen::*;
2890 #[async_trait]
2892 pub trait HummockManagerService: std::marker::Send + std::marker::Sync + 'static {
2893 async fn unpin_version_before(
2894 &self,
2895 request: tonic::Request<super::UnpinVersionBeforeRequest>,
2896 ) -> std::result::Result<
2897 tonic::Response<super::UnpinVersionBeforeResponse>,
2898 tonic::Status,
2899 >;
2900 async fn get_current_version(
2901 &self,
2902 request: tonic::Request<super::GetCurrentVersionRequest>,
2903 ) -> std::result::Result<
2904 tonic::Response<super::GetCurrentVersionResponse>,
2905 tonic::Status,
2906 >;
2907 async fn list_version_deltas(
2908 &self,
2909 request: tonic::Request<super::ListVersionDeltasRequest>,
2910 ) -> std::result::Result<
2911 tonic::Response<super::ListVersionDeltasResponse>,
2912 tonic::Status,
2913 >;
2914 async fn replay_version_delta(
2915 &self,
2916 request: tonic::Request<super::ReplayVersionDeltaRequest>,
2917 ) -> std::result::Result<
2918 tonic::Response<super::ReplayVersionDeltaResponse>,
2919 tonic::Status,
2920 >;
2921 async fn get_assigned_compact_task_num(
2922 &self,
2923 request: tonic::Request<super::GetAssignedCompactTaskNumRequest>,
2924 ) -> std::result::Result<
2925 tonic::Response<super::GetAssignedCompactTaskNumResponse>,
2926 tonic::Status,
2927 >;
2928 async fn trigger_compaction_deterministic(
2929 &self,
2930 request: tonic::Request<super::TriggerCompactionDeterministicRequest>,
2931 ) -> std::result::Result<
2932 tonic::Response<super::TriggerCompactionDeterministicResponse>,
2933 tonic::Status,
2934 >;
2935 async fn disable_commit_epoch(
2936 &self,
2937 request: tonic::Request<super::DisableCommitEpochRequest>,
2938 ) -> std::result::Result<
2939 tonic::Response<super::DisableCommitEpochResponse>,
2940 tonic::Status,
2941 >;
2942 async fn get_new_object_ids(
2943 &self,
2944 request: tonic::Request<super::GetNewObjectIdsRequest>,
2945 ) -> std::result::Result<
2946 tonic::Response<super::GetNewObjectIdsResponse>,
2947 tonic::Status,
2948 >;
2949 async fn trigger_manual_compaction(
2950 &self,
2951 request: tonic::Request<super::TriggerManualCompactionRequest>,
2952 ) -> std::result::Result<
2953 tonic::Response<super::TriggerManualCompactionResponse>,
2954 tonic::Status,
2955 >;
2956 async fn trigger_full_gc(
2957 &self,
2958 request: tonic::Request<super::TriggerFullGcRequest>,
2959 ) -> std::result::Result<
2960 tonic::Response<super::TriggerFullGcResponse>,
2961 tonic::Status,
2962 >;
2963 async fn rise_ctl_get_pinned_versions_summary(
2964 &self,
2965 request: tonic::Request<super::RiseCtlGetPinnedVersionsSummaryRequest>,
2966 ) -> std::result::Result<
2967 tonic::Response<super::RiseCtlGetPinnedVersionsSummaryResponse>,
2968 tonic::Status,
2969 >;
2970 async fn rise_ctl_list_compaction_group(
2971 &self,
2972 request: tonic::Request<super::RiseCtlListCompactionGroupRequest>,
2973 ) -> std::result::Result<
2974 tonic::Response<super::RiseCtlListCompactionGroupResponse>,
2975 tonic::Status,
2976 >;
2977 async fn rise_ctl_update_compaction_config(
2978 &self,
2979 request: tonic::Request<super::RiseCtlUpdateCompactionConfigRequest>,
2980 ) -> std::result::Result<
2981 tonic::Response<super::RiseCtlUpdateCompactionConfigResponse>,
2982 tonic::Status,
2983 >;
2984 async fn rise_ctl_pause_version_checkpoint(
2985 &self,
2986 request: tonic::Request<super::RiseCtlPauseVersionCheckpointRequest>,
2987 ) -> std::result::Result<
2988 tonic::Response<super::RiseCtlPauseVersionCheckpointResponse>,
2989 tonic::Status,
2990 >;
2991 async fn rise_ctl_resume_version_checkpoint(
2992 &self,
2993 request: tonic::Request<super::RiseCtlResumeVersionCheckpointRequest>,
2994 ) -> std::result::Result<
2995 tonic::Response<super::RiseCtlResumeVersionCheckpointResponse>,
2996 tonic::Status,
2997 >;
2998 async fn rise_ctl_get_checkpoint_version(
2999 &self,
3000 request: tonic::Request<super::RiseCtlGetCheckpointVersionRequest>,
3001 ) -> std::result::Result<
3002 tonic::Response<super::RiseCtlGetCheckpointVersionResponse>,
3003 tonic::Status,
3004 >;
3005 async fn rise_ctl_rebuild_table_stats(
3006 &self,
3007 request: tonic::Request<super::RiseCtlRebuildTableStatsRequest>,
3008 ) -> std::result::Result<
3009 tonic::Response<super::RiseCtlRebuildTableStatsResponse>,
3010 tonic::Status,
3011 >;
3012 async fn init_metadata_for_replay(
3013 &self,
3014 request: tonic::Request<super::InitMetadataForReplayRequest>,
3015 ) -> std::result::Result<
3016 tonic::Response<super::InitMetadataForReplayResponse>,
3017 tonic::Status,
3018 >;
3019 async fn pin_version(
3020 &self,
3021 request: tonic::Request<super::PinVersionRequest>,
3022 ) -> std::result::Result<
3023 tonic::Response<super::PinVersionResponse>,
3024 tonic::Status,
3025 >;
3026 async fn split_compaction_group(
3027 &self,
3028 request: tonic::Request<super::SplitCompactionGroupRequest>,
3029 ) -> std::result::Result<
3030 tonic::Response<super::SplitCompactionGroupResponse>,
3031 tonic::Status,
3032 >;
3033 async fn rise_ctl_list_compaction_status(
3034 &self,
3035 request: tonic::Request<super::RiseCtlListCompactionStatusRequest>,
3036 ) -> std::result::Result<
3037 tonic::Response<super::RiseCtlListCompactionStatusResponse>,
3038 tonic::Status,
3039 >;
3040 type SubscribeCompactionEventStream: tonic::codegen::tokio_stream::Stream<
3042 Item = std::result::Result<
3043 super::SubscribeCompactionEventResponse,
3044 tonic::Status,
3045 >,
3046 >
3047 + std::marker::Send
3048 + 'static;
3049 async fn subscribe_compaction_event(
3050 &self,
3051 request: tonic::Request<
3052 tonic::Streaming<super::SubscribeCompactionEventRequest>,
3053 >,
3054 ) -> std::result::Result<
3055 tonic::Response<Self::SubscribeCompactionEventStream>,
3056 tonic::Status,
3057 >;
3058 async fn report_compaction_task(
3059 &self,
3060 request: tonic::Request<super::ReportCompactionTaskRequest>,
3061 ) -> std::result::Result<
3062 tonic::Response<super::ReportCompactionTaskResponse>,
3063 tonic::Status,
3064 >;
3065 async fn list_branched_object(
3066 &self,
3067 request: tonic::Request<super::ListBranchedObjectRequest>,
3068 ) -> std::result::Result<
3069 tonic::Response<super::ListBranchedObjectResponse>,
3070 tonic::Status,
3071 >;
3072 async fn list_active_write_limit(
3073 &self,
3074 request: tonic::Request<super::ListActiveWriteLimitRequest>,
3075 ) -> std::result::Result<
3076 tonic::Response<super::ListActiveWriteLimitResponse>,
3077 tonic::Status,
3078 >;
3079 async fn list_hummock_meta_config(
3080 &self,
3081 request: tonic::Request<super::ListHummockMetaConfigRequest>,
3082 ) -> std::result::Result<
3083 tonic::Response<super::ListHummockMetaConfigResponse>,
3084 tonic::Status,
3085 >;
3086 async fn get_compaction_score(
3087 &self,
3088 request: tonic::Request<super::GetCompactionScoreRequest>,
3089 ) -> std::result::Result<
3090 tonic::Response<super::GetCompactionScoreResponse>,
3091 tonic::Status,
3092 >;
3093 async fn list_compact_task_assignment(
3094 &self,
3095 request: tonic::Request<super::ListCompactTaskAssignmentRequest>,
3096 ) -> std::result::Result<
3097 tonic::Response<super::ListCompactTaskAssignmentResponse>,
3098 tonic::Status,
3099 >;
3100 async fn list_compact_task_progress(
3101 &self,
3102 request: tonic::Request<super::ListCompactTaskProgressRequest>,
3103 ) -> std::result::Result<
3104 tonic::Response<super::ListCompactTaskProgressResponse>,
3105 tonic::Status,
3106 >;
3107 async fn cancel_compact_task(
3108 &self,
3109 request: tonic::Request<super::CancelCompactTaskRequest>,
3110 ) -> std::result::Result<
3111 tonic::Response<super::CancelCompactTaskResponse>,
3112 tonic::Status,
3113 >;
3114 async fn get_version_by_epoch(
3115 &self,
3116 request: tonic::Request<super::GetVersionByEpochRequest>,
3117 ) -> std::result::Result<
3118 tonic::Response<super::GetVersionByEpochResponse>,
3119 tonic::Status,
3120 >;
3121 async fn merge_compaction_group(
3122 &self,
3123 request: tonic::Request<super::MergeCompactionGroupRequest>,
3124 ) -> std::result::Result<
3125 tonic::Response<super::MergeCompactionGroupResponse>,
3126 tonic::Status,
3127 >;
3128 type SubscribeIcebergCompactionEventStream: tonic::codegen::tokio_stream::Stream<
3130 Item = std::result::Result<
3131 super::super::iceberg_compaction::SubscribeIcebergCompactionEventResponse,
3132 tonic::Status,
3133 >,
3134 >
3135 + std::marker::Send
3136 + 'static;
3137 async fn subscribe_iceberg_compaction_event(
3139 &self,
3140 request: tonic::Request<
3141 tonic::Streaming<
3142 super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
3143 >,
3144 >,
3145 ) -> std::result::Result<
3146 tonic::Response<Self::SubscribeIcebergCompactionEventStream>,
3147 tonic::Status,
3148 >;
3149 }
3150 #[derive(Debug)]
3151 pub struct HummockManagerServiceServer<T> {
3152 inner: Arc<T>,
3153 accept_compression_encodings: EnabledCompressionEncodings,
3154 send_compression_encodings: EnabledCompressionEncodings,
3155 max_decoding_message_size: Option<usize>,
3156 max_encoding_message_size: Option<usize>,
3157 }
3158 impl<T> HummockManagerServiceServer<T> {
3159 pub fn new(inner: T) -> Self {
3160 Self::from_arc(Arc::new(inner))
3161 }
3162 pub fn from_arc(inner: Arc<T>) -> Self {
3163 Self {
3164 inner,
3165 accept_compression_encodings: Default::default(),
3166 send_compression_encodings: Default::default(),
3167 max_decoding_message_size: None,
3168 max_encoding_message_size: None,
3169 }
3170 }
3171 pub fn with_interceptor<F>(
3172 inner: T,
3173 interceptor: F,
3174 ) -> InterceptedService<Self, F>
3175 where
3176 F: tonic::service::Interceptor,
3177 {
3178 InterceptedService::new(Self::new(inner), interceptor)
3179 }
3180 #[must_use]
3182 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3183 self.accept_compression_encodings.enable(encoding);
3184 self
3185 }
3186 #[must_use]
3188 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3189 self.send_compression_encodings.enable(encoding);
3190 self
3191 }
3192 #[must_use]
3196 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3197 self.max_decoding_message_size = Some(limit);
3198 self
3199 }
3200 #[must_use]
3204 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3205 self.max_encoding_message_size = Some(limit);
3206 self
3207 }
3208 }
3209 impl<T, B> tonic::codegen::Service<http::Request<B>>
3210 for HummockManagerServiceServer<T>
3211 where
3212 T: HummockManagerService,
3213 B: Body + std::marker::Send + 'static,
3214 B::Error: Into<StdError> + std::marker::Send + 'static,
3215 {
3216 type Response = http::Response<tonic::body::BoxBody>;
3217 type Error = std::convert::Infallible;
3218 type Future = BoxFuture<Self::Response, Self::Error>;
3219 fn poll_ready(
3220 &mut self,
3221 _cx: &mut Context<'_>,
3222 ) -> Poll<std::result::Result<(), Self::Error>> {
3223 Poll::Ready(Ok(()))
3224 }
3225 fn call(&mut self, req: http::Request<B>) -> Self::Future {
3226 match req.uri().path() {
3227 "/hummock.HummockManagerService/UnpinVersionBefore" => {
3228 #[allow(non_camel_case_types)]
3229 struct UnpinVersionBeforeSvc<T: HummockManagerService>(pub Arc<T>);
3230 impl<
3231 T: HummockManagerService,
3232 > tonic::server::UnaryService<super::UnpinVersionBeforeRequest>
3233 for UnpinVersionBeforeSvc<T> {
3234 type Response = super::UnpinVersionBeforeResponse;
3235 type Future = BoxFuture<
3236 tonic::Response<Self::Response>,
3237 tonic::Status,
3238 >;
3239 fn call(
3240 &mut self,
3241 request: tonic::Request<super::UnpinVersionBeforeRequest>,
3242 ) -> Self::Future {
3243 let inner = Arc::clone(&self.0);
3244 let fut = async move {
3245 <T as HummockManagerService>::unpin_version_before(
3246 &inner,
3247 request,
3248 )
3249 .await
3250 };
3251 Box::pin(fut)
3252 }
3253 }
3254 let accept_compression_encodings = self.accept_compression_encodings;
3255 let send_compression_encodings = self.send_compression_encodings;
3256 let max_decoding_message_size = self.max_decoding_message_size;
3257 let max_encoding_message_size = self.max_encoding_message_size;
3258 let inner = self.inner.clone();
3259 let fut = async move {
3260 let method = UnpinVersionBeforeSvc(inner);
3261 let codec = tonic::codec::ProstCodec::default();
3262 let mut grpc = tonic::server::Grpc::new(codec)
3263 .apply_compression_config(
3264 accept_compression_encodings,
3265 send_compression_encodings,
3266 )
3267 .apply_max_message_size_config(
3268 max_decoding_message_size,
3269 max_encoding_message_size,
3270 );
3271 let res = grpc.unary(method, req).await;
3272 Ok(res)
3273 };
3274 Box::pin(fut)
3275 }
3276 "/hummock.HummockManagerService/GetCurrentVersion" => {
3277 #[allow(non_camel_case_types)]
3278 struct GetCurrentVersionSvc<T: HummockManagerService>(pub Arc<T>);
3279 impl<
3280 T: HummockManagerService,
3281 > tonic::server::UnaryService<super::GetCurrentVersionRequest>
3282 for GetCurrentVersionSvc<T> {
3283 type Response = super::GetCurrentVersionResponse;
3284 type Future = BoxFuture<
3285 tonic::Response<Self::Response>,
3286 tonic::Status,
3287 >;
3288 fn call(
3289 &mut self,
3290 request: tonic::Request<super::GetCurrentVersionRequest>,
3291 ) -> Self::Future {
3292 let inner = Arc::clone(&self.0);
3293 let fut = async move {
3294 <T as HummockManagerService>::get_current_version(
3295 &inner,
3296 request,
3297 )
3298 .await
3299 };
3300 Box::pin(fut)
3301 }
3302 }
3303 let accept_compression_encodings = self.accept_compression_encodings;
3304 let send_compression_encodings = self.send_compression_encodings;
3305 let max_decoding_message_size = self.max_decoding_message_size;
3306 let max_encoding_message_size = self.max_encoding_message_size;
3307 let inner = self.inner.clone();
3308 let fut = async move {
3309 let method = GetCurrentVersionSvc(inner);
3310 let codec = tonic::codec::ProstCodec::default();
3311 let mut grpc = tonic::server::Grpc::new(codec)
3312 .apply_compression_config(
3313 accept_compression_encodings,
3314 send_compression_encodings,
3315 )
3316 .apply_max_message_size_config(
3317 max_decoding_message_size,
3318 max_encoding_message_size,
3319 );
3320 let res = grpc.unary(method, req).await;
3321 Ok(res)
3322 };
3323 Box::pin(fut)
3324 }
3325 "/hummock.HummockManagerService/ListVersionDeltas" => {
3326 #[allow(non_camel_case_types)]
3327 struct ListVersionDeltasSvc<T: HummockManagerService>(pub Arc<T>);
3328 impl<
3329 T: HummockManagerService,
3330 > tonic::server::UnaryService<super::ListVersionDeltasRequest>
3331 for ListVersionDeltasSvc<T> {
3332 type Response = super::ListVersionDeltasResponse;
3333 type Future = BoxFuture<
3334 tonic::Response<Self::Response>,
3335 tonic::Status,
3336 >;
3337 fn call(
3338 &mut self,
3339 request: tonic::Request<super::ListVersionDeltasRequest>,
3340 ) -> Self::Future {
3341 let inner = Arc::clone(&self.0);
3342 let fut = async move {
3343 <T as HummockManagerService>::list_version_deltas(
3344 &inner,
3345 request,
3346 )
3347 .await
3348 };
3349 Box::pin(fut)
3350 }
3351 }
3352 let accept_compression_encodings = self.accept_compression_encodings;
3353 let send_compression_encodings = self.send_compression_encodings;
3354 let max_decoding_message_size = self.max_decoding_message_size;
3355 let max_encoding_message_size = self.max_encoding_message_size;
3356 let inner = self.inner.clone();
3357 let fut = async move {
3358 let method = ListVersionDeltasSvc(inner);
3359 let codec = tonic::codec::ProstCodec::default();
3360 let mut grpc = tonic::server::Grpc::new(codec)
3361 .apply_compression_config(
3362 accept_compression_encodings,
3363 send_compression_encodings,
3364 )
3365 .apply_max_message_size_config(
3366 max_decoding_message_size,
3367 max_encoding_message_size,
3368 );
3369 let res = grpc.unary(method, req).await;
3370 Ok(res)
3371 };
3372 Box::pin(fut)
3373 }
3374 "/hummock.HummockManagerService/ReplayVersionDelta" => {
3375 #[allow(non_camel_case_types)]
3376 struct ReplayVersionDeltaSvc<T: HummockManagerService>(pub Arc<T>);
3377 impl<
3378 T: HummockManagerService,
3379 > tonic::server::UnaryService<super::ReplayVersionDeltaRequest>
3380 for ReplayVersionDeltaSvc<T> {
3381 type Response = super::ReplayVersionDeltaResponse;
3382 type Future = BoxFuture<
3383 tonic::Response<Self::Response>,
3384 tonic::Status,
3385 >;
3386 fn call(
3387 &mut self,
3388 request: tonic::Request<super::ReplayVersionDeltaRequest>,
3389 ) -> Self::Future {
3390 let inner = Arc::clone(&self.0);
3391 let fut = async move {
3392 <T as HummockManagerService>::replay_version_delta(
3393 &inner,
3394 request,
3395 )
3396 .await
3397 };
3398 Box::pin(fut)
3399 }
3400 }
3401 let accept_compression_encodings = self.accept_compression_encodings;
3402 let send_compression_encodings = self.send_compression_encodings;
3403 let max_decoding_message_size = self.max_decoding_message_size;
3404 let max_encoding_message_size = self.max_encoding_message_size;
3405 let inner = self.inner.clone();
3406 let fut = async move {
3407 let method = ReplayVersionDeltaSvc(inner);
3408 let codec = tonic::codec::ProstCodec::default();
3409 let mut grpc = tonic::server::Grpc::new(codec)
3410 .apply_compression_config(
3411 accept_compression_encodings,
3412 send_compression_encodings,
3413 )
3414 .apply_max_message_size_config(
3415 max_decoding_message_size,
3416 max_encoding_message_size,
3417 );
3418 let res = grpc.unary(method, req).await;
3419 Ok(res)
3420 };
3421 Box::pin(fut)
3422 }
3423 "/hummock.HummockManagerService/GetAssignedCompactTaskNum" => {
3424 #[allow(non_camel_case_types)]
3425 struct GetAssignedCompactTaskNumSvc<T: HummockManagerService>(
3426 pub Arc<T>,
3427 );
3428 impl<
3429 T: HummockManagerService,
3430 > tonic::server::UnaryService<
3431 super::GetAssignedCompactTaskNumRequest,
3432 > for GetAssignedCompactTaskNumSvc<T> {
3433 type Response = super::GetAssignedCompactTaskNumResponse;
3434 type Future = BoxFuture<
3435 tonic::Response<Self::Response>,
3436 tonic::Status,
3437 >;
3438 fn call(
3439 &mut self,
3440 request: tonic::Request<
3441 super::GetAssignedCompactTaskNumRequest,
3442 >,
3443 ) -> Self::Future {
3444 let inner = Arc::clone(&self.0);
3445 let fut = async move {
3446 <T as HummockManagerService>::get_assigned_compact_task_num(
3447 &inner,
3448 request,
3449 )
3450 .await
3451 };
3452 Box::pin(fut)
3453 }
3454 }
3455 let accept_compression_encodings = self.accept_compression_encodings;
3456 let send_compression_encodings = self.send_compression_encodings;
3457 let max_decoding_message_size = self.max_decoding_message_size;
3458 let max_encoding_message_size = self.max_encoding_message_size;
3459 let inner = self.inner.clone();
3460 let fut = async move {
3461 let method = GetAssignedCompactTaskNumSvc(inner);
3462 let codec = tonic::codec::ProstCodec::default();
3463 let mut grpc = tonic::server::Grpc::new(codec)
3464 .apply_compression_config(
3465 accept_compression_encodings,
3466 send_compression_encodings,
3467 )
3468 .apply_max_message_size_config(
3469 max_decoding_message_size,
3470 max_encoding_message_size,
3471 );
3472 let res = grpc.unary(method, req).await;
3473 Ok(res)
3474 };
3475 Box::pin(fut)
3476 }
3477 "/hummock.HummockManagerService/TriggerCompactionDeterministic" => {
3478 #[allow(non_camel_case_types)]
3479 struct TriggerCompactionDeterministicSvc<T: HummockManagerService>(
3480 pub Arc<T>,
3481 );
3482 impl<
3483 T: HummockManagerService,
3484 > tonic::server::UnaryService<
3485 super::TriggerCompactionDeterministicRequest,
3486 > for TriggerCompactionDeterministicSvc<T> {
3487 type Response = super::TriggerCompactionDeterministicResponse;
3488 type Future = BoxFuture<
3489 tonic::Response<Self::Response>,
3490 tonic::Status,
3491 >;
3492 fn call(
3493 &mut self,
3494 request: tonic::Request<
3495 super::TriggerCompactionDeterministicRequest,
3496 >,
3497 ) -> Self::Future {
3498 let inner = Arc::clone(&self.0);
3499 let fut = async move {
3500 <T as HummockManagerService>::trigger_compaction_deterministic(
3501 &inner,
3502 request,
3503 )
3504 .await
3505 };
3506 Box::pin(fut)
3507 }
3508 }
3509 let accept_compression_encodings = self.accept_compression_encodings;
3510 let send_compression_encodings = self.send_compression_encodings;
3511 let max_decoding_message_size = self.max_decoding_message_size;
3512 let max_encoding_message_size = self.max_encoding_message_size;
3513 let inner = self.inner.clone();
3514 let fut = async move {
3515 let method = TriggerCompactionDeterministicSvc(inner);
3516 let codec = tonic::codec::ProstCodec::default();
3517 let mut grpc = tonic::server::Grpc::new(codec)
3518 .apply_compression_config(
3519 accept_compression_encodings,
3520 send_compression_encodings,
3521 )
3522 .apply_max_message_size_config(
3523 max_decoding_message_size,
3524 max_encoding_message_size,
3525 );
3526 let res = grpc.unary(method, req).await;
3527 Ok(res)
3528 };
3529 Box::pin(fut)
3530 }
3531 "/hummock.HummockManagerService/DisableCommitEpoch" => {
3532 #[allow(non_camel_case_types)]
3533 struct DisableCommitEpochSvc<T: HummockManagerService>(pub Arc<T>);
3534 impl<
3535 T: HummockManagerService,
3536 > tonic::server::UnaryService<super::DisableCommitEpochRequest>
3537 for DisableCommitEpochSvc<T> {
3538 type Response = super::DisableCommitEpochResponse;
3539 type Future = BoxFuture<
3540 tonic::Response<Self::Response>,
3541 tonic::Status,
3542 >;
3543 fn call(
3544 &mut self,
3545 request: tonic::Request<super::DisableCommitEpochRequest>,
3546 ) -> Self::Future {
3547 let inner = Arc::clone(&self.0);
3548 let fut = async move {
3549 <T as HummockManagerService>::disable_commit_epoch(
3550 &inner,
3551 request,
3552 )
3553 .await
3554 };
3555 Box::pin(fut)
3556 }
3557 }
3558 let accept_compression_encodings = self.accept_compression_encodings;
3559 let send_compression_encodings = self.send_compression_encodings;
3560 let max_decoding_message_size = self.max_decoding_message_size;
3561 let max_encoding_message_size = self.max_encoding_message_size;
3562 let inner = self.inner.clone();
3563 let fut = async move {
3564 let method = DisableCommitEpochSvc(inner);
3565 let codec = tonic::codec::ProstCodec::default();
3566 let mut grpc = tonic::server::Grpc::new(codec)
3567 .apply_compression_config(
3568 accept_compression_encodings,
3569 send_compression_encodings,
3570 )
3571 .apply_max_message_size_config(
3572 max_decoding_message_size,
3573 max_encoding_message_size,
3574 );
3575 let res = grpc.unary(method, req).await;
3576 Ok(res)
3577 };
3578 Box::pin(fut)
3579 }
3580 "/hummock.HummockManagerService/GetNewObjectIds" => {
3581 #[allow(non_camel_case_types)]
3582 struct GetNewObjectIdsSvc<T: HummockManagerService>(pub Arc<T>);
3583 impl<
3584 T: HummockManagerService,
3585 > tonic::server::UnaryService<super::GetNewObjectIdsRequest>
3586 for GetNewObjectIdsSvc<T> {
3587 type Response = super::GetNewObjectIdsResponse;
3588 type Future = BoxFuture<
3589 tonic::Response<Self::Response>,
3590 tonic::Status,
3591 >;
3592 fn call(
3593 &mut self,
3594 request: tonic::Request<super::GetNewObjectIdsRequest>,
3595 ) -> Self::Future {
3596 let inner = Arc::clone(&self.0);
3597 let fut = async move {
3598 <T as HummockManagerService>::get_new_object_ids(
3599 &inner,
3600 request,
3601 )
3602 .await
3603 };
3604 Box::pin(fut)
3605 }
3606 }
3607 let accept_compression_encodings = self.accept_compression_encodings;
3608 let send_compression_encodings = self.send_compression_encodings;
3609 let max_decoding_message_size = self.max_decoding_message_size;
3610 let max_encoding_message_size = self.max_encoding_message_size;
3611 let inner = self.inner.clone();
3612 let fut = async move {
3613 let method = GetNewObjectIdsSvc(inner);
3614 let codec = tonic::codec::ProstCodec::default();
3615 let mut grpc = tonic::server::Grpc::new(codec)
3616 .apply_compression_config(
3617 accept_compression_encodings,
3618 send_compression_encodings,
3619 )
3620 .apply_max_message_size_config(
3621 max_decoding_message_size,
3622 max_encoding_message_size,
3623 );
3624 let res = grpc.unary(method, req).await;
3625 Ok(res)
3626 };
3627 Box::pin(fut)
3628 }
3629 "/hummock.HummockManagerService/TriggerManualCompaction" => {
3630 #[allow(non_camel_case_types)]
3631 struct TriggerManualCompactionSvc<T: HummockManagerService>(
3632 pub Arc<T>,
3633 );
3634 impl<
3635 T: HummockManagerService,
3636 > tonic::server::UnaryService<super::TriggerManualCompactionRequest>
3637 for TriggerManualCompactionSvc<T> {
3638 type Response = super::TriggerManualCompactionResponse;
3639 type Future = BoxFuture<
3640 tonic::Response<Self::Response>,
3641 tonic::Status,
3642 >;
3643 fn call(
3644 &mut self,
3645 request: tonic::Request<
3646 super::TriggerManualCompactionRequest,
3647 >,
3648 ) -> Self::Future {
3649 let inner = Arc::clone(&self.0);
3650 let fut = async move {
3651 <T as HummockManagerService>::trigger_manual_compaction(
3652 &inner,
3653 request,
3654 )
3655 .await
3656 };
3657 Box::pin(fut)
3658 }
3659 }
3660 let accept_compression_encodings = self.accept_compression_encodings;
3661 let send_compression_encodings = self.send_compression_encodings;
3662 let max_decoding_message_size = self.max_decoding_message_size;
3663 let max_encoding_message_size = self.max_encoding_message_size;
3664 let inner = self.inner.clone();
3665 let fut = async move {
3666 let method = TriggerManualCompactionSvc(inner);
3667 let codec = tonic::codec::ProstCodec::default();
3668 let mut grpc = tonic::server::Grpc::new(codec)
3669 .apply_compression_config(
3670 accept_compression_encodings,
3671 send_compression_encodings,
3672 )
3673 .apply_max_message_size_config(
3674 max_decoding_message_size,
3675 max_encoding_message_size,
3676 );
3677 let res = grpc.unary(method, req).await;
3678 Ok(res)
3679 };
3680 Box::pin(fut)
3681 }
3682 "/hummock.HummockManagerService/TriggerFullGC" => {
3683 #[allow(non_camel_case_types)]
3684 struct TriggerFullGCSvc<T: HummockManagerService>(pub Arc<T>);
3685 impl<
3686 T: HummockManagerService,
3687 > tonic::server::UnaryService<super::TriggerFullGcRequest>
3688 for TriggerFullGCSvc<T> {
3689 type Response = super::TriggerFullGcResponse;
3690 type Future = BoxFuture<
3691 tonic::Response<Self::Response>,
3692 tonic::Status,
3693 >;
3694 fn call(
3695 &mut self,
3696 request: tonic::Request<super::TriggerFullGcRequest>,
3697 ) -> Self::Future {
3698 let inner = Arc::clone(&self.0);
3699 let fut = async move {
3700 <T as HummockManagerService>::trigger_full_gc(
3701 &inner,
3702 request,
3703 )
3704 .await
3705 };
3706 Box::pin(fut)
3707 }
3708 }
3709 let accept_compression_encodings = self.accept_compression_encodings;
3710 let send_compression_encodings = self.send_compression_encodings;
3711 let max_decoding_message_size = self.max_decoding_message_size;
3712 let max_encoding_message_size = self.max_encoding_message_size;
3713 let inner = self.inner.clone();
3714 let fut = async move {
3715 let method = TriggerFullGCSvc(inner);
3716 let codec = tonic::codec::ProstCodec::default();
3717 let mut grpc = tonic::server::Grpc::new(codec)
3718 .apply_compression_config(
3719 accept_compression_encodings,
3720 send_compression_encodings,
3721 )
3722 .apply_max_message_size_config(
3723 max_decoding_message_size,
3724 max_encoding_message_size,
3725 );
3726 let res = grpc.unary(method, req).await;
3727 Ok(res)
3728 };
3729 Box::pin(fut)
3730 }
3731 "/hummock.HummockManagerService/RiseCtlGetPinnedVersionsSummary" => {
3732 #[allow(non_camel_case_types)]
3733 struct RiseCtlGetPinnedVersionsSummarySvc<T: HummockManagerService>(
3734 pub Arc<T>,
3735 );
3736 impl<
3737 T: HummockManagerService,
3738 > tonic::server::UnaryService<
3739 super::RiseCtlGetPinnedVersionsSummaryRequest,
3740 > for RiseCtlGetPinnedVersionsSummarySvc<T> {
3741 type Response = super::RiseCtlGetPinnedVersionsSummaryResponse;
3742 type Future = BoxFuture<
3743 tonic::Response<Self::Response>,
3744 tonic::Status,
3745 >;
3746 fn call(
3747 &mut self,
3748 request: tonic::Request<
3749 super::RiseCtlGetPinnedVersionsSummaryRequest,
3750 >,
3751 ) -> Self::Future {
3752 let inner = Arc::clone(&self.0);
3753 let fut = async move {
3754 <T as HummockManagerService>::rise_ctl_get_pinned_versions_summary(
3755 &inner,
3756 request,
3757 )
3758 .await
3759 };
3760 Box::pin(fut)
3761 }
3762 }
3763 let accept_compression_encodings = self.accept_compression_encodings;
3764 let send_compression_encodings = self.send_compression_encodings;
3765 let max_decoding_message_size = self.max_decoding_message_size;
3766 let max_encoding_message_size = self.max_encoding_message_size;
3767 let inner = self.inner.clone();
3768 let fut = async move {
3769 let method = RiseCtlGetPinnedVersionsSummarySvc(inner);
3770 let codec = tonic::codec::ProstCodec::default();
3771 let mut grpc = tonic::server::Grpc::new(codec)
3772 .apply_compression_config(
3773 accept_compression_encodings,
3774 send_compression_encodings,
3775 )
3776 .apply_max_message_size_config(
3777 max_decoding_message_size,
3778 max_encoding_message_size,
3779 );
3780 let res = grpc.unary(method, req).await;
3781 Ok(res)
3782 };
3783 Box::pin(fut)
3784 }
3785 "/hummock.HummockManagerService/RiseCtlListCompactionGroup" => {
3786 #[allow(non_camel_case_types)]
3787 struct RiseCtlListCompactionGroupSvc<T: HummockManagerService>(
3788 pub Arc<T>,
3789 );
3790 impl<
3791 T: HummockManagerService,
3792 > tonic::server::UnaryService<
3793 super::RiseCtlListCompactionGroupRequest,
3794 > for RiseCtlListCompactionGroupSvc<T> {
3795 type Response = super::RiseCtlListCompactionGroupResponse;
3796 type Future = BoxFuture<
3797 tonic::Response<Self::Response>,
3798 tonic::Status,
3799 >;
3800 fn call(
3801 &mut self,
3802 request: tonic::Request<
3803 super::RiseCtlListCompactionGroupRequest,
3804 >,
3805 ) -> Self::Future {
3806 let inner = Arc::clone(&self.0);
3807 let fut = async move {
3808 <T as HummockManagerService>::rise_ctl_list_compaction_group(
3809 &inner,
3810 request,
3811 )
3812 .await
3813 };
3814 Box::pin(fut)
3815 }
3816 }
3817 let accept_compression_encodings = self.accept_compression_encodings;
3818 let send_compression_encodings = self.send_compression_encodings;
3819 let max_decoding_message_size = self.max_decoding_message_size;
3820 let max_encoding_message_size = self.max_encoding_message_size;
3821 let inner = self.inner.clone();
3822 let fut = async move {
3823 let method = RiseCtlListCompactionGroupSvc(inner);
3824 let codec = tonic::codec::ProstCodec::default();
3825 let mut grpc = tonic::server::Grpc::new(codec)
3826 .apply_compression_config(
3827 accept_compression_encodings,
3828 send_compression_encodings,
3829 )
3830 .apply_max_message_size_config(
3831 max_decoding_message_size,
3832 max_encoding_message_size,
3833 );
3834 let res = grpc.unary(method, req).await;
3835 Ok(res)
3836 };
3837 Box::pin(fut)
3838 }
3839 "/hummock.HummockManagerService/RiseCtlUpdateCompactionConfig" => {
3840 #[allow(non_camel_case_types)]
3841 struct RiseCtlUpdateCompactionConfigSvc<T: HummockManagerService>(
3842 pub Arc<T>,
3843 );
3844 impl<
3845 T: HummockManagerService,
3846 > tonic::server::UnaryService<
3847 super::RiseCtlUpdateCompactionConfigRequest,
3848 > for RiseCtlUpdateCompactionConfigSvc<T> {
3849 type Response = super::RiseCtlUpdateCompactionConfigResponse;
3850 type Future = BoxFuture<
3851 tonic::Response<Self::Response>,
3852 tonic::Status,
3853 >;
3854 fn call(
3855 &mut self,
3856 request: tonic::Request<
3857 super::RiseCtlUpdateCompactionConfigRequest,
3858 >,
3859 ) -> Self::Future {
3860 let inner = Arc::clone(&self.0);
3861 let fut = async move {
3862 <T as HummockManagerService>::rise_ctl_update_compaction_config(
3863 &inner,
3864 request,
3865 )
3866 .await
3867 };
3868 Box::pin(fut)
3869 }
3870 }
3871 let accept_compression_encodings = self.accept_compression_encodings;
3872 let send_compression_encodings = self.send_compression_encodings;
3873 let max_decoding_message_size = self.max_decoding_message_size;
3874 let max_encoding_message_size = self.max_encoding_message_size;
3875 let inner = self.inner.clone();
3876 let fut = async move {
3877 let method = RiseCtlUpdateCompactionConfigSvc(inner);
3878 let codec = tonic::codec::ProstCodec::default();
3879 let mut grpc = tonic::server::Grpc::new(codec)
3880 .apply_compression_config(
3881 accept_compression_encodings,
3882 send_compression_encodings,
3883 )
3884 .apply_max_message_size_config(
3885 max_decoding_message_size,
3886 max_encoding_message_size,
3887 );
3888 let res = grpc.unary(method, req).await;
3889 Ok(res)
3890 };
3891 Box::pin(fut)
3892 }
3893 "/hummock.HummockManagerService/RiseCtlPauseVersionCheckpoint" => {
3894 #[allow(non_camel_case_types)]
3895 struct RiseCtlPauseVersionCheckpointSvc<T: HummockManagerService>(
3896 pub Arc<T>,
3897 );
3898 impl<
3899 T: HummockManagerService,
3900 > tonic::server::UnaryService<
3901 super::RiseCtlPauseVersionCheckpointRequest,
3902 > for RiseCtlPauseVersionCheckpointSvc<T> {
3903 type Response = super::RiseCtlPauseVersionCheckpointResponse;
3904 type Future = BoxFuture<
3905 tonic::Response<Self::Response>,
3906 tonic::Status,
3907 >;
3908 fn call(
3909 &mut self,
3910 request: tonic::Request<
3911 super::RiseCtlPauseVersionCheckpointRequest,
3912 >,
3913 ) -> Self::Future {
3914 let inner = Arc::clone(&self.0);
3915 let fut = async move {
3916 <T as HummockManagerService>::rise_ctl_pause_version_checkpoint(
3917 &inner,
3918 request,
3919 )
3920 .await
3921 };
3922 Box::pin(fut)
3923 }
3924 }
3925 let accept_compression_encodings = self.accept_compression_encodings;
3926 let send_compression_encodings = self.send_compression_encodings;
3927 let max_decoding_message_size = self.max_decoding_message_size;
3928 let max_encoding_message_size = self.max_encoding_message_size;
3929 let inner = self.inner.clone();
3930 let fut = async move {
3931 let method = RiseCtlPauseVersionCheckpointSvc(inner);
3932 let codec = tonic::codec::ProstCodec::default();
3933 let mut grpc = tonic::server::Grpc::new(codec)
3934 .apply_compression_config(
3935 accept_compression_encodings,
3936 send_compression_encodings,
3937 )
3938 .apply_max_message_size_config(
3939 max_decoding_message_size,
3940 max_encoding_message_size,
3941 );
3942 let res = grpc.unary(method, req).await;
3943 Ok(res)
3944 };
3945 Box::pin(fut)
3946 }
3947 "/hummock.HummockManagerService/RiseCtlResumeVersionCheckpoint" => {
3948 #[allow(non_camel_case_types)]
3949 struct RiseCtlResumeVersionCheckpointSvc<T: HummockManagerService>(
3950 pub Arc<T>,
3951 );
3952 impl<
3953 T: HummockManagerService,
3954 > tonic::server::UnaryService<
3955 super::RiseCtlResumeVersionCheckpointRequest,
3956 > for RiseCtlResumeVersionCheckpointSvc<T> {
3957 type Response = super::RiseCtlResumeVersionCheckpointResponse;
3958 type Future = BoxFuture<
3959 tonic::Response<Self::Response>,
3960 tonic::Status,
3961 >;
3962 fn call(
3963 &mut self,
3964 request: tonic::Request<
3965 super::RiseCtlResumeVersionCheckpointRequest,
3966 >,
3967 ) -> Self::Future {
3968 let inner = Arc::clone(&self.0);
3969 let fut = async move {
3970 <T as HummockManagerService>::rise_ctl_resume_version_checkpoint(
3971 &inner,
3972 request,
3973 )
3974 .await
3975 };
3976 Box::pin(fut)
3977 }
3978 }
3979 let accept_compression_encodings = self.accept_compression_encodings;
3980 let send_compression_encodings = self.send_compression_encodings;
3981 let max_decoding_message_size = self.max_decoding_message_size;
3982 let max_encoding_message_size = self.max_encoding_message_size;
3983 let inner = self.inner.clone();
3984 let fut = async move {
3985 let method = RiseCtlResumeVersionCheckpointSvc(inner);
3986 let codec = tonic::codec::ProstCodec::default();
3987 let mut grpc = tonic::server::Grpc::new(codec)
3988 .apply_compression_config(
3989 accept_compression_encodings,
3990 send_compression_encodings,
3991 )
3992 .apply_max_message_size_config(
3993 max_decoding_message_size,
3994 max_encoding_message_size,
3995 );
3996 let res = grpc.unary(method, req).await;
3997 Ok(res)
3998 };
3999 Box::pin(fut)
4000 }
4001 "/hummock.HummockManagerService/RiseCtlGetCheckpointVersion" => {
4002 #[allow(non_camel_case_types)]
4003 struct RiseCtlGetCheckpointVersionSvc<T: HummockManagerService>(
4004 pub Arc<T>,
4005 );
4006 impl<
4007 T: HummockManagerService,
4008 > tonic::server::UnaryService<
4009 super::RiseCtlGetCheckpointVersionRequest,
4010 > for RiseCtlGetCheckpointVersionSvc<T> {
4011 type Response = super::RiseCtlGetCheckpointVersionResponse;
4012 type Future = BoxFuture<
4013 tonic::Response<Self::Response>,
4014 tonic::Status,
4015 >;
4016 fn call(
4017 &mut self,
4018 request: tonic::Request<
4019 super::RiseCtlGetCheckpointVersionRequest,
4020 >,
4021 ) -> Self::Future {
4022 let inner = Arc::clone(&self.0);
4023 let fut = async move {
4024 <T as HummockManagerService>::rise_ctl_get_checkpoint_version(
4025 &inner,
4026 request,
4027 )
4028 .await
4029 };
4030 Box::pin(fut)
4031 }
4032 }
4033 let accept_compression_encodings = self.accept_compression_encodings;
4034 let send_compression_encodings = self.send_compression_encodings;
4035 let max_decoding_message_size = self.max_decoding_message_size;
4036 let max_encoding_message_size = self.max_encoding_message_size;
4037 let inner = self.inner.clone();
4038 let fut = async move {
4039 let method = RiseCtlGetCheckpointVersionSvc(inner);
4040 let codec = tonic::codec::ProstCodec::default();
4041 let mut grpc = tonic::server::Grpc::new(codec)
4042 .apply_compression_config(
4043 accept_compression_encodings,
4044 send_compression_encodings,
4045 )
4046 .apply_max_message_size_config(
4047 max_decoding_message_size,
4048 max_encoding_message_size,
4049 );
4050 let res = grpc.unary(method, req).await;
4051 Ok(res)
4052 };
4053 Box::pin(fut)
4054 }
4055 "/hummock.HummockManagerService/RiseCtlRebuildTableStats" => {
4056 #[allow(non_camel_case_types)]
4057 struct RiseCtlRebuildTableStatsSvc<T: HummockManagerService>(
4058 pub Arc<T>,
4059 );
4060 impl<
4061 T: HummockManagerService,
4062 > tonic::server::UnaryService<super::RiseCtlRebuildTableStatsRequest>
4063 for RiseCtlRebuildTableStatsSvc<T> {
4064 type Response = super::RiseCtlRebuildTableStatsResponse;
4065 type Future = BoxFuture<
4066 tonic::Response<Self::Response>,
4067 tonic::Status,
4068 >;
4069 fn call(
4070 &mut self,
4071 request: tonic::Request<
4072 super::RiseCtlRebuildTableStatsRequest,
4073 >,
4074 ) -> Self::Future {
4075 let inner = Arc::clone(&self.0);
4076 let fut = async move {
4077 <T as HummockManagerService>::rise_ctl_rebuild_table_stats(
4078 &inner,
4079 request,
4080 )
4081 .await
4082 };
4083 Box::pin(fut)
4084 }
4085 }
4086 let accept_compression_encodings = self.accept_compression_encodings;
4087 let send_compression_encodings = self.send_compression_encodings;
4088 let max_decoding_message_size = self.max_decoding_message_size;
4089 let max_encoding_message_size = self.max_encoding_message_size;
4090 let inner = self.inner.clone();
4091 let fut = async move {
4092 let method = RiseCtlRebuildTableStatsSvc(inner);
4093 let codec = tonic::codec::ProstCodec::default();
4094 let mut grpc = tonic::server::Grpc::new(codec)
4095 .apply_compression_config(
4096 accept_compression_encodings,
4097 send_compression_encodings,
4098 )
4099 .apply_max_message_size_config(
4100 max_decoding_message_size,
4101 max_encoding_message_size,
4102 );
4103 let res = grpc.unary(method, req).await;
4104 Ok(res)
4105 };
4106 Box::pin(fut)
4107 }
4108 "/hummock.HummockManagerService/InitMetadataForReplay" => {
4109 #[allow(non_camel_case_types)]
4110 struct InitMetadataForReplaySvc<T: HummockManagerService>(
4111 pub Arc<T>,
4112 );
4113 impl<
4114 T: HummockManagerService,
4115 > tonic::server::UnaryService<super::InitMetadataForReplayRequest>
4116 for InitMetadataForReplaySvc<T> {
4117 type Response = super::InitMetadataForReplayResponse;
4118 type Future = BoxFuture<
4119 tonic::Response<Self::Response>,
4120 tonic::Status,
4121 >;
4122 fn call(
4123 &mut self,
4124 request: tonic::Request<super::InitMetadataForReplayRequest>,
4125 ) -> Self::Future {
4126 let inner = Arc::clone(&self.0);
4127 let fut = async move {
4128 <T as HummockManagerService>::init_metadata_for_replay(
4129 &inner,
4130 request,
4131 )
4132 .await
4133 };
4134 Box::pin(fut)
4135 }
4136 }
4137 let accept_compression_encodings = self.accept_compression_encodings;
4138 let send_compression_encodings = self.send_compression_encodings;
4139 let max_decoding_message_size = self.max_decoding_message_size;
4140 let max_encoding_message_size = self.max_encoding_message_size;
4141 let inner = self.inner.clone();
4142 let fut = async move {
4143 let method = InitMetadataForReplaySvc(inner);
4144 let codec = tonic::codec::ProstCodec::default();
4145 let mut grpc = tonic::server::Grpc::new(codec)
4146 .apply_compression_config(
4147 accept_compression_encodings,
4148 send_compression_encodings,
4149 )
4150 .apply_max_message_size_config(
4151 max_decoding_message_size,
4152 max_encoding_message_size,
4153 );
4154 let res = grpc.unary(method, req).await;
4155 Ok(res)
4156 };
4157 Box::pin(fut)
4158 }
4159 "/hummock.HummockManagerService/PinVersion" => {
4160 #[allow(non_camel_case_types)]
4161 struct PinVersionSvc<T: HummockManagerService>(pub Arc<T>);
4162 impl<
4163 T: HummockManagerService,
4164 > tonic::server::UnaryService<super::PinVersionRequest>
4165 for PinVersionSvc<T> {
4166 type Response = super::PinVersionResponse;
4167 type Future = BoxFuture<
4168 tonic::Response<Self::Response>,
4169 tonic::Status,
4170 >;
4171 fn call(
4172 &mut self,
4173 request: tonic::Request<super::PinVersionRequest>,
4174 ) -> Self::Future {
4175 let inner = Arc::clone(&self.0);
4176 let fut = async move {
4177 <T as HummockManagerService>::pin_version(&inner, request)
4178 .await
4179 };
4180 Box::pin(fut)
4181 }
4182 }
4183 let accept_compression_encodings = self.accept_compression_encodings;
4184 let send_compression_encodings = self.send_compression_encodings;
4185 let max_decoding_message_size = self.max_decoding_message_size;
4186 let max_encoding_message_size = self.max_encoding_message_size;
4187 let inner = self.inner.clone();
4188 let fut = async move {
4189 let method = PinVersionSvc(inner);
4190 let codec = tonic::codec::ProstCodec::default();
4191 let mut grpc = tonic::server::Grpc::new(codec)
4192 .apply_compression_config(
4193 accept_compression_encodings,
4194 send_compression_encodings,
4195 )
4196 .apply_max_message_size_config(
4197 max_decoding_message_size,
4198 max_encoding_message_size,
4199 );
4200 let res = grpc.unary(method, req).await;
4201 Ok(res)
4202 };
4203 Box::pin(fut)
4204 }
4205 "/hummock.HummockManagerService/SplitCompactionGroup" => {
4206 #[allow(non_camel_case_types)]
4207 struct SplitCompactionGroupSvc<T: HummockManagerService>(pub Arc<T>);
4208 impl<
4209 T: HummockManagerService,
4210 > tonic::server::UnaryService<super::SplitCompactionGroupRequest>
4211 for SplitCompactionGroupSvc<T> {
4212 type Response = super::SplitCompactionGroupResponse;
4213 type Future = BoxFuture<
4214 tonic::Response<Self::Response>,
4215 tonic::Status,
4216 >;
4217 fn call(
4218 &mut self,
4219 request: tonic::Request<super::SplitCompactionGroupRequest>,
4220 ) -> Self::Future {
4221 let inner = Arc::clone(&self.0);
4222 let fut = async move {
4223 <T as HummockManagerService>::split_compaction_group(
4224 &inner,
4225 request,
4226 )
4227 .await
4228 };
4229 Box::pin(fut)
4230 }
4231 }
4232 let accept_compression_encodings = self.accept_compression_encodings;
4233 let send_compression_encodings = self.send_compression_encodings;
4234 let max_decoding_message_size = self.max_decoding_message_size;
4235 let max_encoding_message_size = self.max_encoding_message_size;
4236 let inner = self.inner.clone();
4237 let fut = async move {
4238 let method = SplitCompactionGroupSvc(inner);
4239 let codec = tonic::codec::ProstCodec::default();
4240 let mut grpc = tonic::server::Grpc::new(codec)
4241 .apply_compression_config(
4242 accept_compression_encodings,
4243 send_compression_encodings,
4244 )
4245 .apply_max_message_size_config(
4246 max_decoding_message_size,
4247 max_encoding_message_size,
4248 );
4249 let res = grpc.unary(method, req).await;
4250 Ok(res)
4251 };
4252 Box::pin(fut)
4253 }
4254 "/hummock.HummockManagerService/RiseCtlListCompactionStatus" => {
4255 #[allow(non_camel_case_types)]
4256 struct RiseCtlListCompactionStatusSvc<T: HummockManagerService>(
4257 pub Arc<T>,
4258 );
4259 impl<
4260 T: HummockManagerService,
4261 > tonic::server::UnaryService<
4262 super::RiseCtlListCompactionStatusRequest,
4263 > for RiseCtlListCompactionStatusSvc<T> {
4264 type Response = super::RiseCtlListCompactionStatusResponse;
4265 type Future = BoxFuture<
4266 tonic::Response<Self::Response>,
4267 tonic::Status,
4268 >;
4269 fn call(
4270 &mut self,
4271 request: tonic::Request<
4272 super::RiseCtlListCompactionStatusRequest,
4273 >,
4274 ) -> Self::Future {
4275 let inner = Arc::clone(&self.0);
4276 let fut = async move {
4277 <T as HummockManagerService>::rise_ctl_list_compaction_status(
4278 &inner,
4279 request,
4280 )
4281 .await
4282 };
4283 Box::pin(fut)
4284 }
4285 }
4286 let accept_compression_encodings = self.accept_compression_encodings;
4287 let send_compression_encodings = self.send_compression_encodings;
4288 let max_decoding_message_size = self.max_decoding_message_size;
4289 let max_encoding_message_size = self.max_encoding_message_size;
4290 let inner = self.inner.clone();
4291 let fut = async move {
4292 let method = RiseCtlListCompactionStatusSvc(inner);
4293 let codec = tonic::codec::ProstCodec::default();
4294 let mut grpc = tonic::server::Grpc::new(codec)
4295 .apply_compression_config(
4296 accept_compression_encodings,
4297 send_compression_encodings,
4298 )
4299 .apply_max_message_size_config(
4300 max_decoding_message_size,
4301 max_encoding_message_size,
4302 );
4303 let res = grpc.unary(method, req).await;
4304 Ok(res)
4305 };
4306 Box::pin(fut)
4307 }
4308 "/hummock.HummockManagerService/SubscribeCompactionEvent" => {
4309 #[allow(non_camel_case_types)]
4310 struct SubscribeCompactionEventSvc<T: HummockManagerService>(
4311 pub Arc<T>,
4312 );
4313 impl<
4314 T: HummockManagerService,
4315 > tonic::server::StreamingService<
4316 super::SubscribeCompactionEventRequest,
4317 > for SubscribeCompactionEventSvc<T> {
4318 type Response = super::SubscribeCompactionEventResponse;
4319 type ResponseStream = T::SubscribeCompactionEventStream;
4320 type Future = BoxFuture<
4321 tonic::Response<Self::ResponseStream>,
4322 tonic::Status,
4323 >;
4324 fn call(
4325 &mut self,
4326 request: tonic::Request<
4327 tonic::Streaming<super::SubscribeCompactionEventRequest>,
4328 >,
4329 ) -> Self::Future {
4330 let inner = Arc::clone(&self.0);
4331 let fut = async move {
4332 <T as HummockManagerService>::subscribe_compaction_event(
4333 &inner,
4334 request,
4335 )
4336 .await
4337 };
4338 Box::pin(fut)
4339 }
4340 }
4341 let accept_compression_encodings = self.accept_compression_encodings;
4342 let send_compression_encodings = self.send_compression_encodings;
4343 let max_decoding_message_size = self.max_decoding_message_size;
4344 let max_encoding_message_size = self.max_encoding_message_size;
4345 let inner = self.inner.clone();
4346 let fut = async move {
4347 let method = SubscribeCompactionEventSvc(inner);
4348 let codec = tonic::codec::ProstCodec::default();
4349 let mut grpc = tonic::server::Grpc::new(codec)
4350 .apply_compression_config(
4351 accept_compression_encodings,
4352 send_compression_encodings,
4353 )
4354 .apply_max_message_size_config(
4355 max_decoding_message_size,
4356 max_encoding_message_size,
4357 );
4358 let res = grpc.streaming(method, req).await;
4359 Ok(res)
4360 };
4361 Box::pin(fut)
4362 }
4363 "/hummock.HummockManagerService/ReportCompactionTask" => {
4364 #[allow(non_camel_case_types)]
4365 struct ReportCompactionTaskSvc<T: HummockManagerService>(pub Arc<T>);
4366 impl<
4367 T: HummockManagerService,
4368 > tonic::server::UnaryService<super::ReportCompactionTaskRequest>
4369 for ReportCompactionTaskSvc<T> {
4370 type Response = super::ReportCompactionTaskResponse;
4371 type Future = BoxFuture<
4372 tonic::Response<Self::Response>,
4373 tonic::Status,
4374 >;
4375 fn call(
4376 &mut self,
4377 request: tonic::Request<super::ReportCompactionTaskRequest>,
4378 ) -> Self::Future {
4379 let inner = Arc::clone(&self.0);
4380 let fut = async move {
4381 <T as HummockManagerService>::report_compaction_task(
4382 &inner,
4383 request,
4384 )
4385 .await
4386 };
4387 Box::pin(fut)
4388 }
4389 }
4390 let accept_compression_encodings = self.accept_compression_encodings;
4391 let send_compression_encodings = self.send_compression_encodings;
4392 let max_decoding_message_size = self.max_decoding_message_size;
4393 let max_encoding_message_size = self.max_encoding_message_size;
4394 let inner = self.inner.clone();
4395 let fut = async move {
4396 let method = ReportCompactionTaskSvc(inner);
4397 let codec = tonic::codec::ProstCodec::default();
4398 let mut grpc = tonic::server::Grpc::new(codec)
4399 .apply_compression_config(
4400 accept_compression_encodings,
4401 send_compression_encodings,
4402 )
4403 .apply_max_message_size_config(
4404 max_decoding_message_size,
4405 max_encoding_message_size,
4406 );
4407 let res = grpc.unary(method, req).await;
4408 Ok(res)
4409 };
4410 Box::pin(fut)
4411 }
4412 "/hummock.HummockManagerService/ListBranchedObject" => {
4413 #[allow(non_camel_case_types)]
4414 struct ListBranchedObjectSvc<T: HummockManagerService>(pub Arc<T>);
4415 impl<
4416 T: HummockManagerService,
4417 > tonic::server::UnaryService<super::ListBranchedObjectRequest>
4418 for ListBranchedObjectSvc<T> {
4419 type Response = super::ListBranchedObjectResponse;
4420 type Future = BoxFuture<
4421 tonic::Response<Self::Response>,
4422 tonic::Status,
4423 >;
4424 fn call(
4425 &mut self,
4426 request: tonic::Request<super::ListBranchedObjectRequest>,
4427 ) -> Self::Future {
4428 let inner = Arc::clone(&self.0);
4429 let fut = async move {
4430 <T as HummockManagerService>::list_branched_object(
4431 &inner,
4432 request,
4433 )
4434 .await
4435 };
4436 Box::pin(fut)
4437 }
4438 }
4439 let accept_compression_encodings = self.accept_compression_encodings;
4440 let send_compression_encodings = self.send_compression_encodings;
4441 let max_decoding_message_size = self.max_decoding_message_size;
4442 let max_encoding_message_size = self.max_encoding_message_size;
4443 let inner = self.inner.clone();
4444 let fut = async move {
4445 let method = ListBranchedObjectSvc(inner);
4446 let codec = tonic::codec::ProstCodec::default();
4447 let mut grpc = tonic::server::Grpc::new(codec)
4448 .apply_compression_config(
4449 accept_compression_encodings,
4450 send_compression_encodings,
4451 )
4452 .apply_max_message_size_config(
4453 max_decoding_message_size,
4454 max_encoding_message_size,
4455 );
4456 let res = grpc.unary(method, req).await;
4457 Ok(res)
4458 };
4459 Box::pin(fut)
4460 }
4461 "/hummock.HummockManagerService/ListActiveWriteLimit" => {
4462 #[allow(non_camel_case_types)]
4463 struct ListActiveWriteLimitSvc<T: HummockManagerService>(pub Arc<T>);
4464 impl<
4465 T: HummockManagerService,
4466 > tonic::server::UnaryService<super::ListActiveWriteLimitRequest>
4467 for ListActiveWriteLimitSvc<T> {
4468 type Response = super::ListActiveWriteLimitResponse;
4469 type Future = BoxFuture<
4470 tonic::Response<Self::Response>,
4471 tonic::Status,
4472 >;
4473 fn call(
4474 &mut self,
4475 request: tonic::Request<super::ListActiveWriteLimitRequest>,
4476 ) -> Self::Future {
4477 let inner = Arc::clone(&self.0);
4478 let fut = async move {
4479 <T as HummockManagerService>::list_active_write_limit(
4480 &inner,
4481 request,
4482 )
4483 .await
4484 };
4485 Box::pin(fut)
4486 }
4487 }
4488 let accept_compression_encodings = self.accept_compression_encodings;
4489 let send_compression_encodings = self.send_compression_encodings;
4490 let max_decoding_message_size = self.max_decoding_message_size;
4491 let max_encoding_message_size = self.max_encoding_message_size;
4492 let inner = self.inner.clone();
4493 let fut = async move {
4494 let method = ListActiveWriteLimitSvc(inner);
4495 let codec = tonic::codec::ProstCodec::default();
4496 let mut grpc = tonic::server::Grpc::new(codec)
4497 .apply_compression_config(
4498 accept_compression_encodings,
4499 send_compression_encodings,
4500 )
4501 .apply_max_message_size_config(
4502 max_decoding_message_size,
4503 max_encoding_message_size,
4504 );
4505 let res = grpc.unary(method, req).await;
4506 Ok(res)
4507 };
4508 Box::pin(fut)
4509 }
4510 "/hummock.HummockManagerService/ListHummockMetaConfig" => {
4511 #[allow(non_camel_case_types)]
4512 struct ListHummockMetaConfigSvc<T: HummockManagerService>(
4513 pub Arc<T>,
4514 );
4515 impl<
4516 T: HummockManagerService,
4517 > tonic::server::UnaryService<super::ListHummockMetaConfigRequest>
4518 for ListHummockMetaConfigSvc<T> {
4519 type Response = super::ListHummockMetaConfigResponse;
4520 type Future = BoxFuture<
4521 tonic::Response<Self::Response>,
4522 tonic::Status,
4523 >;
4524 fn call(
4525 &mut self,
4526 request: tonic::Request<super::ListHummockMetaConfigRequest>,
4527 ) -> Self::Future {
4528 let inner = Arc::clone(&self.0);
4529 let fut = async move {
4530 <T as HummockManagerService>::list_hummock_meta_config(
4531 &inner,
4532 request,
4533 )
4534 .await
4535 };
4536 Box::pin(fut)
4537 }
4538 }
4539 let accept_compression_encodings = self.accept_compression_encodings;
4540 let send_compression_encodings = self.send_compression_encodings;
4541 let max_decoding_message_size = self.max_decoding_message_size;
4542 let max_encoding_message_size = self.max_encoding_message_size;
4543 let inner = self.inner.clone();
4544 let fut = async move {
4545 let method = ListHummockMetaConfigSvc(inner);
4546 let codec = tonic::codec::ProstCodec::default();
4547 let mut grpc = tonic::server::Grpc::new(codec)
4548 .apply_compression_config(
4549 accept_compression_encodings,
4550 send_compression_encodings,
4551 )
4552 .apply_max_message_size_config(
4553 max_decoding_message_size,
4554 max_encoding_message_size,
4555 );
4556 let res = grpc.unary(method, req).await;
4557 Ok(res)
4558 };
4559 Box::pin(fut)
4560 }
4561 "/hummock.HummockManagerService/GetCompactionScore" => {
4562 #[allow(non_camel_case_types)]
4563 struct GetCompactionScoreSvc<T: HummockManagerService>(pub Arc<T>);
4564 impl<
4565 T: HummockManagerService,
4566 > tonic::server::UnaryService<super::GetCompactionScoreRequest>
4567 for GetCompactionScoreSvc<T> {
4568 type Response = super::GetCompactionScoreResponse;
4569 type Future = BoxFuture<
4570 tonic::Response<Self::Response>,
4571 tonic::Status,
4572 >;
4573 fn call(
4574 &mut self,
4575 request: tonic::Request<super::GetCompactionScoreRequest>,
4576 ) -> Self::Future {
4577 let inner = Arc::clone(&self.0);
4578 let fut = async move {
4579 <T as HummockManagerService>::get_compaction_score(
4580 &inner,
4581 request,
4582 )
4583 .await
4584 };
4585 Box::pin(fut)
4586 }
4587 }
4588 let accept_compression_encodings = self.accept_compression_encodings;
4589 let send_compression_encodings = self.send_compression_encodings;
4590 let max_decoding_message_size = self.max_decoding_message_size;
4591 let max_encoding_message_size = self.max_encoding_message_size;
4592 let inner = self.inner.clone();
4593 let fut = async move {
4594 let method = GetCompactionScoreSvc(inner);
4595 let codec = tonic::codec::ProstCodec::default();
4596 let mut grpc = tonic::server::Grpc::new(codec)
4597 .apply_compression_config(
4598 accept_compression_encodings,
4599 send_compression_encodings,
4600 )
4601 .apply_max_message_size_config(
4602 max_decoding_message_size,
4603 max_encoding_message_size,
4604 );
4605 let res = grpc.unary(method, req).await;
4606 Ok(res)
4607 };
4608 Box::pin(fut)
4609 }
4610 "/hummock.HummockManagerService/ListCompactTaskAssignment" => {
4611 #[allow(non_camel_case_types)]
4612 struct ListCompactTaskAssignmentSvc<T: HummockManagerService>(
4613 pub Arc<T>,
4614 );
4615 impl<
4616 T: HummockManagerService,
4617 > tonic::server::UnaryService<
4618 super::ListCompactTaskAssignmentRequest,
4619 > for ListCompactTaskAssignmentSvc<T> {
4620 type Response = super::ListCompactTaskAssignmentResponse;
4621 type Future = BoxFuture<
4622 tonic::Response<Self::Response>,
4623 tonic::Status,
4624 >;
4625 fn call(
4626 &mut self,
4627 request: tonic::Request<
4628 super::ListCompactTaskAssignmentRequest,
4629 >,
4630 ) -> Self::Future {
4631 let inner = Arc::clone(&self.0);
4632 let fut = async move {
4633 <T as HummockManagerService>::list_compact_task_assignment(
4634 &inner,
4635 request,
4636 )
4637 .await
4638 };
4639 Box::pin(fut)
4640 }
4641 }
4642 let accept_compression_encodings = self.accept_compression_encodings;
4643 let send_compression_encodings = self.send_compression_encodings;
4644 let max_decoding_message_size = self.max_decoding_message_size;
4645 let max_encoding_message_size = self.max_encoding_message_size;
4646 let inner = self.inner.clone();
4647 let fut = async move {
4648 let method = ListCompactTaskAssignmentSvc(inner);
4649 let codec = tonic::codec::ProstCodec::default();
4650 let mut grpc = tonic::server::Grpc::new(codec)
4651 .apply_compression_config(
4652 accept_compression_encodings,
4653 send_compression_encodings,
4654 )
4655 .apply_max_message_size_config(
4656 max_decoding_message_size,
4657 max_encoding_message_size,
4658 );
4659 let res = grpc.unary(method, req).await;
4660 Ok(res)
4661 };
4662 Box::pin(fut)
4663 }
4664 "/hummock.HummockManagerService/ListCompactTaskProgress" => {
4665 #[allow(non_camel_case_types)]
4666 struct ListCompactTaskProgressSvc<T: HummockManagerService>(
4667 pub Arc<T>,
4668 );
4669 impl<
4670 T: HummockManagerService,
4671 > tonic::server::UnaryService<super::ListCompactTaskProgressRequest>
4672 for ListCompactTaskProgressSvc<T> {
4673 type Response = super::ListCompactTaskProgressResponse;
4674 type Future = BoxFuture<
4675 tonic::Response<Self::Response>,
4676 tonic::Status,
4677 >;
4678 fn call(
4679 &mut self,
4680 request: tonic::Request<
4681 super::ListCompactTaskProgressRequest,
4682 >,
4683 ) -> Self::Future {
4684 let inner = Arc::clone(&self.0);
4685 let fut = async move {
4686 <T as HummockManagerService>::list_compact_task_progress(
4687 &inner,
4688 request,
4689 )
4690 .await
4691 };
4692 Box::pin(fut)
4693 }
4694 }
4695 let accept_compression_encodings = self.accept_compression_encodings;
4696 let send_compression_encodings = self.send_compression_encodings;
4697 let max_decoding_message_size = self.max_decoding_message_size;
4698 let max_encoding_message_size = self.max_encoding_message_size;
4699 let inner = self.inner.clone();
4700 let fut = async move {
4701 let method = ListCompactTaskProgressSvc(inner);
4702 let codec = tonic::codec::ProstCodec::default();
4703 let mut grpc = tonic::server::Grpc::new(codec)
4704 .apply_compression_config(
4705 accept_compression_encodings,
4706 send_compression_encodings,
4707 )
4708 .apply_max_message_size_config(
4709 max_decoding_message_size,
4710 max_encoding_message_size,
4711 );
4712 let res = grpc.unary(method, req).await;
4713 Ok(res)
4714 };
4715 Box::pin(fut)
4716 }
4717 "/hummock.HummockManagerService/CancelCompactTask" => {
4718 #[allow(non_camel_case_types)]
4719 struct CancelCompactTaskSvc<T: HummockManagerService>(pub Arc<T>);
4720 impl<
4721 T: HummockManagerService,
4722 > tonic::server::UnaryService<super::CancelCompactTaskRequest>
4723 for CancelCompactTaskSvc<T> {
4724 type Response = super::CancelCompactTaskResponse;
4725 type Future = BoxFuture<
4726 tonic::Response<Self::Response>,
4727 tonic::Status,
4728 >;
4729 fn call(
4730 &mut self,
4731 request: tonic::Request<super::CancelCompactTaskRequest>,
4732 ) -> Self::Future {
4733 let inner = Arc::clone(&self.0);
4734 let fut = async move {
4735 <T as HummockManagerService>::cancel_compact_task(
4736 &inner,
4737 request,
4738 )
4739 .await
4740 };
4741 Box::pin(fut)
4742 }
4743 }
4744 let accept_compression_encodings = self.accept_compression_encodings;
4745 let send_compression_encodings = self.send_compression_encodings;
4746 let max_decoding_message_size = self.max_decoding_message_size;
4747 let max_encoding_message_size = self.max_encoding_message_size;
4748 let inner = self.inner.clone();
4749 let fut = async move {
4750 let method = CancelCompactTaskSvc(inner);
4751 let codec = tonic::codec::ProstCodec::default();
4752 let mut grpc = tonic::server::Grpc::new(codec)
4753 .apply_compression_config(
4754 accept_compression_encodings,
4755 send_compression_encodings,
4756 )
4757 .apply_max_message_size_config(
4758 max_decoding_message_size,
4759 max_encoding_message_size,
4760 );
4761 let res = grpc.unary(method, req).await;
4762 Ok(res)
4763 };
4764 Box::pin(fut)
4765 }
4766 "/hummock.HummockManagerService/GetVersionByEpoch" => {
4767 #[allow(non_camel_case_types)]
4768 struct GetVersionByEpochSvc<T: HummockManagerService>(pub Arc<T>);
4769 impl<
4770 T: HummockManagerService,
4771 > tonic::server::UnaryService<super::GetVersionByEpochRequest>
4772 for GetVersionByEpochSvc<T> {
4773 type Response = super::GetVersionByEpochResponse;
4774 type Future = BoxFuture<
4775 tonic::Response<Self::Response>,
4776 tonic::Status,
4777 >;
4778 fn call(
4779 &mut self,
4780 request: tonic::Request<super::GetVersionByEpochRequest>,
4781 ) -> Self::Future {
4782 let inner = Arc::clone(&self.0);
4783 let fut = async move {
4784 <T as HummockManagerService>::get_version_by_epoch(
4785 &inner,
4786 request,
4787 )
4788 .await
4789 };
4790 Box::pin(fut)
4791 }
4792 }
4793 let accept_compression_encodings = self.accept_compression_encodings;
4794 let send_compression_encodings = self.send_compression_encodings;
4795 let max_decoding_message_size = self.max_decoding_message_size;
4796 let max_encoding_message_size = self.max_encoding_message_size;
4797 let inner = self.inner.clone();
4798 let fut = async move {
4799 let method = GetVersionByEpochSvc(inner);
4800 let codec = tonic::codec::ProstCodec::default();
4801 let mut grpc = tonic::server::Grpc::new(codec)
4802 .apply_compression_config(
4803 accept_compression_encodings,
4804 send_compression_encodings,
4805 )
4806 .apply_max_message_size_config(
4807 max_decoding_message_size,
4808 max_encoding_message_size,
4809 );
4810 let res = grpc.unary(method, req).await;
4811 Ok(res)
4812 };
4813 Box::pin(fut)
4814 }
4815 "/hummock.HummockManagerService/MergeCompactionGroup" => {
4816 #[allow(non_camel_case_types)]
4817 struct MergeCompactionGroupSvc<T: HummockManagerService>(pub Arc<T>);
4818 impl<
4819 T: HummockManagerService,
4820 > tonic::server::UnaryService<super::MergeCompactionGroupRequest>
4821 for MergeCompactionGroupSvc<T> {
4822 type Response = super::MergeCompactionGroupResponse;
4823 type Future = BoxFuture<
4824 tonic::Response<Self::Response>,
4825 tonic::Status,
4826 >;
4827 fn call(
4828 &mut self,
4829 request: tonic::Request<super::MergeCompactionGroupRequest>,
4830 ) -> Self::Future {
4831 let inner = Arc::clone(&self.0);
4832 let fut = async move {
4833 <T as HummockManagerService>::merge_compaction_group(
4834 &inner,
4835 request,
4836 )
4837 .await
4838 };
4839 Box::pin(fut)
4840 }
4841 }
4842 let accept_compression_encodings = self.accept_compression_encodings;
4843 let send_compression_encodings = self.send_compression_encodings;
4844 let max_decoding_message_size = self.max_decoding_message_size;
4845 let max_encoding_message_size = self.max_encoding_message_size;
4846 let inner = self.inner.clone();
4847 let fut = async move {
4848 let method = MergeCompactionGroupSvc(inner);
4849 let codec = tonic::codec::ProstCodec::default();
4850 let mut grpc = tonic::server::Grpc::new(codec)
4851 .apply_compression_config(
4852 accept_compression_encodings,
4853 send_compression_encodings,
4854 )
4855 .apply_max_message_size_config(
4856 max_decoding_message_size,
4857 max_encoding_message_size,
4858 );
4859 let res = grpc.unary(method, req).await;
4860 Ok(res)
4861 };
4862 Box::pin(fut)
4863 }
4864 "/hummock.HummockManagerService/SubscribeIcebergCompactionEvent" => {
4865 #[allow(non_camel_case_types)]
4866 struct SubscribeIcebergCompactionEventSvc<T: HummockManagerService>(
4867 pub Arc<T>,
4868 );
4869 impl<
4870 T: HummockManagerService,
4871 > tonic::server::StreamingService<
4872 super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
4873 > for SubscribeIcebergCompactionEventSvc<T> {
4874 type Response = super::super::iceberg_compaction::SubscribeIcebergCompactionEventResponse;
4875 type ResponseStream = T::SubscribeIcebergCompactionEventStream;
4876 type Future = BoxFuture<
4877 tonic::Response<Self::ResponseStream>,
4878 tonic::Status,
4879 >;
4880 fn call(
4881 &mut self,
4882 request: tonic::Request<
4883 tonic::Streaming<
4884 super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
4885 >,
4886 >,
4887 ) -> Self::Future {
4888 let inner = Arc::clone(&self.0);
4889 let fut = async move {
4890 <T as HummockManagerService>::subscribe_iceberg_compaction_event(
4891 &inner,
4892 request,
4893 )
4894 .await
4895 };
4896 Box::pin(fut)
4897 }
4898 }
4899 let accept_compression_encodings = self.accept_compression_encodings;
4900 let send_compression_encodings = self.send_compression_encodings;
4901 let max_decoding_message_size = self.max_decoding_message_size;
4902 let max_encoding_message_size = self.max_encoding_message_size;
4903 let inner = self.inner.clone();
4904 let fut = async move {
4905 let method = SubscribeIcebergCompactionEventSvc(inner);
4906 let codec = tonic::codec::ProstCodec::default();
4907 let mut grpc = tonic::server::Grpc::new(codec)
4908 .apply_compression_config(
4909 accept_compression_encodings,
4910 send_compression_encodings,
4911 )
4912 .apply_max_message_size_config(
4913 max_decoding_message_size,
4914 max_encoding_message_size,
4915 );
4916 let res = grpc.streaming(method, req).await;
4917 Ok(res)
4918 };
4919 Box::pin(fut)
4920 }
4921 _ => {
4922 Box::pin(async move {
4923 let mut response = http::Response::new(empty_body());
4924 let headers = response.headers_mut();
4925 headers
4926 .insert(
4927 tonic::Status::GRPC_STATUS,
4928 (tonic::Code::Unimplemented as i32).into(),
4929 );
4930 headers
4931 .insert(
4932 http::header::CONTENT_TYPE,
4933 tonic::metadata::GRPC_CONTENT_TYPE,
4934 );
4935 Ok(response)
4936 })
4937 }
4938 }
4939 }
4940 }
4941 impl<T> Clone for HummockManagerServiceServer<T> {
4942 fn clone(&self) -> Self {
4943 let inner = self.inner.clone();
4944 Self {
4945 inner,
4946 accept_compression_encodings: self.accept_compression_encodings,
4947 send_compression_encodings: self.send_compression_encodings,
4948 max_decoding_message_size: self.max_decoding_message_size,
4949 max_encoding_message_size: self.max_encoding_message_size,
4950 }
4951 }
4952 }
4953 pub const SERVICE_NAME: &str = "hummock.HummockManagerService";
4955 impl<T> tonic::server::NamedService for HummockManagerServiceServer<T> {
4956 const NAME: &'static str = SERVICE_NAME;
4957 }
4958}