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