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