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