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