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