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"
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 }
1562 }
1563}
1564#[derive(prost_helpers::AnyPB)]
1565#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1566pub struct RiseCtlUpdateCompactionConfigResponse {
1567 #[prost(message, optional, tag = "1")]
1568 pub status: ::core::option::Option<super::common::Status>,
1569}
1570#[derive(prost_helpers::AnyPB)]
1571#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1572pub struct PinVersionRequest {
1573 #[prost(uint32, tag = "1", wrapper = "crate::id::WorkerId")]
1574 pub context_id: crate::id::WorkerId,
1575}
1576#[derive(prost_helpers::AnyPB)]
1577#[derive(Clone, PartialEq, ::prost::Message)]
1578pub struct PinVersionResponse {
1579 #[prost(message, optional, tag = "1")]
1580 pub pinned_version: ::core::option::Option<HummockVersion>,
1581}
1582#[derive(prost_helpers::AnyPB)]
1583#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1584pub struct SplitCompactionGroupRequest {
1585 #[prost(uint64, tag = "1", wrapper = "crate::id::CompactionGroupId")]
1586 pub group_id: crate::id::CompactionGroupId,
1587 #[prost(uint32, repeated, tag = "2", wrapper = "crate::id::TableId")]
1588 pub table_ids: ::prost::alloc::vec::Vec<crate::id::TableId>,
1589 #[prost(uint32, tag = "3")]
1590 pub partition_vnode_count: u32,
1591}
1592#[derive(prost_helpers::AnyPB)]
1593#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1594pub struct SplitCompactionGroupResponse {
1595 #[prost(uint64, tag = "1", wrapper = "crate::id::CompactionGroupId")]
1596 pub new_group_id: crate::id::CompactionGroupId,
1597}
1598#[derive(prost_helpers::AnyPB)]
1599#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1600pub struct RiseCtlPauseVersionCheckpointRequest {}
1601#[derive(prost_helpers::AnyPB)]
1602#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1603pub struct RiseCtlPauseVersionCheckpointResponse {}
1604#[derive(prost_helpers::AnyPB)]
1605#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1606pub struct RiseCtlResumeVersionCheckpointRequest {}
1607#[derive(prost_helpers::AnyPB)]
1608#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1609pub struct RiseCtlResumeVersionCheckpointResponse {}
1610#[derive(prost_helpers::AnyPB)]
1611#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1612pub struct RiseCtlGetCheckpointVersionRequest {}
1613#[derive(prost_helpers::AnyPB)]
1614#[derive(Clone, PartialEq, ::prost::Message)]
1615pub struct RiseCtlGetCheckpointVersionResponse {
1616 #[prost(message, optional, tag = "1")]
1617 pub checkpoint_version: ::core::option::Option<HummockVersion>,
1618}
1619#[derive(prost_helpers::AnyPB)]
1620#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1621pub struct RiseCtlListCompactionStatusRequest {}
1622#[derive(prost_helpers::AnyPB)]
1623#[derive(Clone, PartialEq, ::prost::Message)]
1624pub struct RiseCtlListCompactionStatusResponse {
1625 #[prost(message, repeated, tag = "1")]
1626 pub compaction_statuses: ::prost::alloc::vec::Vec<CompactStatus>,
1627 #[prost(message, repeated, tag = "2")]
1628 pub task_assignment: ::prost::alloc::vec::Vec<CompactTaskAssignment>,
1629 #[prost(message, repeated, tag = "3")]
1630 pub task_progress: ::prost::alloc::vec::Vec<CompactTaskProgress>,
1631}
1632#[derive(prost_helpers::AnyPB)]
1633#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1634pub struct ListBranchedObjectRequest {}
1635#[derive(prost_helpers::AnyPB)]
1636#[derive(Clone, PartialEq, ::prost::Message)]
1637pub struct ListBranchedObjectResponse {
1638 #[prost(message, repeated, tag = "1")]
1639 pub branched_objects: ::prost::alloc::vec::Vec<BranchedObject>,
1640}
1641#[derive(prost_helpers::AnyPB)]
1642#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1643pub struct ListActiveWriteLimitRequest {}
1644#[derive(prost_helpers::AnyPB)]
1645#[derive(Clone, PartialEq, ::prost::Message)]
1646pub struct ListActiveWriteLimitResponse {
1647 #[prost(
1649 map = "uint64, message",
1650 tag = "1",
1651 wrapper = "crate::id::CompactionGroupId"
1652 )]
1653 pub write_limits: ::std::collections::HashMap<
1654 crate::id::CompactionGroupId,
1655 write_limits::WriteLimit,
1656 >,
1657}
1658#[derive(prost_helpers::AnyPB)]
1659#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1660pub struct ListHummockMetaConfigRequest {}
1661#[derive(prost_helpers::AnyPB)]
1662#[derive(Clone, PartialEq, ::prost::Message)]
1663pub struct ListHummockMetaConfigResponse {
1664 #[prost(map = "string, string", tag = "1")]
1665 pub configs: ::std::collections::HashMap<
1666 ::prost::alloc::string::String,
1667 ::prost::alloc::string::String,
1668 >,
1669}
1670#[derive(prost_helpers::AnyPB)]
1671#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1672pub struct RiseCtlRebuildTableStatsRequest {}
1673#[derive(prost_helpers::AnyPB)]
1674#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1675pub struct RiseCtlRebuildTableStatsResponse {}
1676#[derive(prost_helpers::AnyPB)]
1677#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1678pub struct GetCompactionScoreRequest {
1679 #[prost(uint64, tag = "1", wrapper = "crate::id::CompactionGroupId")]
1680 pub compaction_group_id: crate::id::CompactionGroupId,
1681}
1682#[derive(prost_helpers::AnyPB)]
1683#[derive(Clone, PartialEq, ::prost::Message)]
1684pub struct GetCompactionScoreResponse {
1685 #[prost(uint64, tag = "1", wrapper = "crate::id::CompactionGroupId")]
1686 pub compaction_group_id: crate::id::CompactionGroupId,
1687 #[prost(message, repeated, tag = "2")]
1688 pub scores: ::prost::alloc::vec::Vec<get_compaction_score_response::PickerInfo>,
1689}
1690pub mod get_compaction_score_response {
1692 #[derive(prost_helpers::AnyPB)]
1693 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1694 pub struct PickerInfo {
1695 #[prost(uint64, tag = "1")]
1696 pub score: u64,
1697 #[prost(uint64, tag = "2")]
1698 pub select_level: u64,
1699 #[prost(uint64, tag = "3")]
1700 pub target_level: u64,
1701 #[prost(string, tag = "4")]
1702 pub picker_type: ::prost::alloc::string::String,
1703 }
1704}
1705#[derive(prost_helpers::AnyPB)]
1706#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1707pub struct ListCompactTaskAssignmentRequest {}
1708#[derive(prost_helpers::AnyPB)]
1709#[derive(Clone, PartialEq, ::prost::Message)]
1710pub struct ListCompactTaskAssignmentResponse {
1711 #[prost(message, repeated, tag = "1")]
1712 pub task_assignment: ::prost::alloc::vec::Vec<CompactTaskAssignment>,
1713}
1714#[derive(prost_helpers::AnyPB)]
1715#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1716pub struct ListCompactTaskProgressRequest {}
1717#[derive(prost_helpers::AnyPB)]
1718#[derive(Clone, PartialEq, ::prost::Message)]
1719pub struct ListCompactTaskProgressResponse {
1720 #[prost(message, repeated, tag = "1")]
1721 pub task_progress: ::prost::alloc::vec::Vec<CompactTaskProgress>,
1722}
1723#[derive(prost_helpers::AnyPB)]
1724#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1725pub struct CancelCompactTaskRequest {
1726 #[prost(uint64, tag = "1")]
1727 pub task_id: u64,
1728 #[prost(enumeration = "compact_task::TaskStatus", tag = "2")]
1729 pub task_status: i32,
1730}
1731#[derive(prost_helpers::AnyPB)]
1732#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1733pub struct CancelCompactTaskResponse {
1734 #[prost(bool, tag = "1")]
1735 pub ret: bool,
1736}
1737#[derive(prost_helpers::AnyPB)]
1738#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1739pub struct GetVersionByEpochRequest {
1740 #[prost(uint64, tag = "1")]
1741 pub epoch: u64,
1742 #[prost(uint32, tag = "2", wrapper = "crate::id::TableId")]
1743 pub table_id: crate::id::TableId,
1744}
1745#[derive(prost_helpers::AnyPB)]
1746#[derive(Clone, PartialEq, ::prost::Message)]
1747pub struct GetVersionByEpochResponse {
1748 #[prost(message, optional, tag = "1")]
1749 pub version: ::core::option::Option<HummockVersion>,
1750}
1751#[derive(prost_helpers::AnyPB)]
1752#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1753pub struct MergeCompactionGroupRequest {
1754 #[prost(uint64, tag = "1", wrapper = "crate::id::CompactionGroupId")]
1755 pub left_group_id: crate::id::CompactionGroupId,
1756 #[prost(uint64, tag = "2", wrapper = "crate::id::CompactionGroupId")]
1757 pub right_group_id: crate::id::CompactionGroupId,
1758}
1759#[derive(prost_helpers::AnyPB)]
1760#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1761pub struct MergeCompactionGroupResponse {}
1762#[derive(prost_helpers::AnyPB)]
1763#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1764pub struct CompactionConfig {
1765 #[prost(uint64, tag = "1")]
1766 pub max_bytes_for_level_base: u64,
1767 #[prost(uint64, tag = "2")]
1768 pub max_level: u64,
1769 #[prost(uint64, tag = "3")]
1770 pub max_bytes_for_level_multiplier: u64,
1771 #[prost(uint64, tag = "4")]
1772 pub max_compaction_bytes: u64,
1773 #[prost(uint64, tag = "5")]
1774 pub sub_level_max_compaction_bytes: u64,
1775 #[prost(uint64, tag = "7")]
1776 pub level0_tier_compact_file_number: u64,
1777 #[prost(enumeration = "compaction_config::CompactionMode", tag = "8")]
1778 pub compaction_mode: i32,
1779 #[prost(string, repeated, tag = "9")]
1780 pub compression_algorithm: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1781 #[prost(uint64, tag = "10")]
1782 pub target_file_size_base: u64,
1783 #[prost(uint32, tag = "11")]
1784 pub compaction_filter_mask: u32,
1785 #[prost(uint32, tag = "12")]
1786 pub max_sub_compaction: u32,
1787 #[prost(uint64, tag = "13")]
1788 pub max_space_reclaim_bytes: u64,
1789 #[prost(bool, tag = "14")]
1790 pub split_by_state_table: bool,
1791 #[prost(uint32, tag = "6")]
1793 pub split_weight_by_vnode: u32,
1794 #[prost(uint64, tag = "15")]
1796 pub level0_stop_write_threshold_sub_level_number: u64,
1797 #[prost(uint64, tag = "16")]
1798 pub level0_max_compact_file_number: u64,
1799 #[prost(uint32, tag = "17")]
1800 pub level0_sub_level_compact_level_count: u32,
1801 #[prost(uint32, tag = "18")]
1803 pub level0_overlapping_sub_level_compact_level_count: u32,
1804 #[prost(uint32, tag = "19")]
1805 pub tombstone_reclaim_ratio: u32,
1806 #[prost(bool, tag = "20")]
1807 pub enable_emergency_picker: bool,
1808 #[prost(uint32, optional, tag = "21")]
1810 pub max_l0_compact_level_count: ::core::option::Option<u32>,
1811 #[prost(uint64, optional, tag = "22")]
1813 pub sst_allowed_trivial_move_min_size: ::core::option::Option<u64>,
1814 #[prost(bool, optional, tag = "23")]
1816 pub disable_auto_group_scheduling: ::core::option::Option<bool>,
1817 #[prost(uint64, optional, tag = "24")]
1820 pub max_overlapping_level_size: ::core::option::Option<u64>,
1821 #[prost(uint32, optional, tag = "25")]
1823 pub emergency_level0_sst_file_count: ::core::option::Option<u32>,
1824 #[prost(uint32, optional, tag = "26")]
1826 pub emergency_level0_sub_level_partition: ::core::option::Option<u32>,
1827 #[prost(uint32, optional, tag = "27")]
1829 pub level0_stop_write_threshold_max_sst_count: ::core::option::Option<u32>,
1830 #[prost(uint64, optional, tag = "28")]
1832 pub level0_stop_write_threshold_max_size: ::core::option::Option<u64>,
1833 #[prost(uint32, optional, tag = "29")]
1835 pub sst_allowed_trivial_move_max_count: ::core::option::Option<u32>,
1836 #[prost(bool, optional, tag = "30")]
1838 pub enable_optimize_l0_interval_selection: ::core::option::Option<bool>,
1839 #[deprecated]
1841 #[prost(uint64, optional, tag = "31")]
1842 pub vnode_aligned_level_size_threshold: ::core::option::Option<u64>,
1843 #[prost(uint64, optional, tag = "32")]
1849 pub max_kv_count_for_xor16: ::core::option::Option<u64>,
1850 #[prost(uint64, optional, tag = "33")]
1852 pub max_vnode_key_range_bytes: ::core::option::Option<u64>,
1853}
1854pub mod compaction_config {
1856 #[derive(prost_helpers::AnyPB)]
1857 #[derive(
1858 Clone,
1859 Copy,
1860 Debug,
1861 PartialEq,
1862 Eq,
1863 Hash,
1864 PartialOrd,
1865 Ord,
1866 ::prost::Enumeration
1867 )]
1868 #[repr(i32)]
1869 pub enum CompactionMode {
1870 Unspecified = 0,
1871 Range = 1,
1872 }
1873 impl CompactionMode {
1874 pub fn as_str_name(&self) -> &'static str {
1879 match self {
1880 Self::Unspecified => "UNSPECIFIED",
1881 Self::Range => "RANGE",
1882 }
1883 }
1884 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1886 match value {
1887 "UNSPECIFIED" => Some(Self::Unspecified),
1888 "RANGE" => Some(Self::Range),
1889 _ => None,
1890 }
1891 }
1892 }
1893}
1894#[derive(prost_helpers::AnyPB)]
1895#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1896pub struct TableStats {
1897 #[prost(int64, tag = "1")]
1898 pub total_key_size: i64,
1899 #[prost(int64, tag = "2")]
1900 pub total_value_size: i64,
1901 #[prost(int64, tag = "3")]
1902 pub total_key_count: i64,
1903 #[prost(uint64, tag = "4")]
1906 pub total_compressed_size: u64,
1907}
1908#[derive(prost_helpers::AnyPB)]
1909#[derive(Clone, PartialEq, ::prost::Message)]
1910pub struct HummockVersionStats {
1911 #[prost(uint64, tag = "1", wrapper = "crate::id::HummockVersionId")]
1912 pub hummock_version_id: crate::id::HummockVersionId,
1913 #[prost(map = "uint32, message", tag = "2", wrapper = "crate::id::TableId")]
1914 pub table_stats: ::std::collections::HashMap<crate::id::TableId, TableStats>,
1915}
1916#[derive(prost_helpers::AnyPB)]
1917#[derive(Clone, PartialEq, ::prost::Message)]
1918pub struct WriteLimits {
1919 #[prost(
1921 map = "uint64, message",
1922 tag = "1",
1923 wrapper = "crate::id::CompactionGroupId"
1924 )]
1925 pub write_limits: ::std::collections::HashMap<
1926 crate::id::CompactionGroupId,
1927 write_limits::WriteLimit,
1928 >,
1929}
1930pub mod write_limits {
1932 #[derive(prost_helpers::AnyPB)]
1933 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1934 pub struct WriteLimit {
1935 #[prost(uint32, repeated, tag = "1", wrapper = "crate::id::TableId")]
1936 pub table_ids: ::prost::alloc::vec::Vec<crate::id::TableId>,
1937 #[prost(string, tag = "2")]
1938 pub reason: ::prost::alloc::string::String,
1939 }
1940}
1941#[derive(prost_helpers::AnyPB)]
1942#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1943pub struct BranchedObject {
1944 #[prost(uint64, tag = "1", wrapper = "crate::id::HummockSstableObjectId")]
1945 pub object_id: crate::id::HummockSstableObjectId,
1946 #[prost(uint64, repeated, tag = "2", wrapper = "crate::id::HummockSstableId")]
1947 pub sst_id: ::prost::alloc::vec::Vec<crate::id::HummockSstableId>,
1948 #[prost(uint64, tag = "3", wrapper = "crate::id::CompactionGroupId")]
1950 pub compaction_group_id: crate::id::CompactionGroupId,
1951}
1952#[derive(prost_helpers::AnyPB)]
1953#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1954#[repr(i32)]
1955pub enum BloomFilterType {
1956 BloomFilterUnspecified = 0,
1957 Sstable = 1,
1958 Blocked = 2,
1959}
1960impl BloomFilterType {
1961 pub fn as_str_name(&self) -> &'static str {
1966 match self {
1967 Self::BloomFilterUnspecified => "BLOOM_FILTER_UNSPECIFIED",
1968 Self::Sstable => "SSTABLE",
1969 Self::Blocked => "BLOCKED",
1970 }
1971 }
1972 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1974 match value {
1975 "BLOOM_FILTER_UNSPECIFIED" => Some(Self::BloomFilterUnspecified),
1976 "SSTABLE" => Some(Self::Sstable),
1977 "BLOCKED" => Some(Self::Blocked),
1978 _ => None,
1979 }
1980 }
1981}
1982#[derive(prost_helpers::AnyPB)]
1983#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1984#[repr(i32)]
1985pub enum LevelType {
1986 Unspecified = 0,
1987 Nonoverlapping = 1,
1988 Overlapping = 2,
1989}
1990impl LevelType {
1991 pub fn as_str_name(&self) -> &'static str {
1996 match self {
1997 Self::Unspecified => "LEVEL_TYPE_UNSPECIFIED",
1998 Self::Nonoverlapping => "LEVEL_TYPE_NONOVERLAPPING",
1999 Self::Overlapping => "LEVEL_TYPE_OVERLAPPING",
2000 }
2001 }
2002 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2004 match value {
2005 "LEVEL_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2006 "LEVEL_TYPE_NONOVERLAPPING" => Some(Self::Nonoverlapping),
2007 "LEVEL_TYPE_OVERLAPPING" => Some(Self::Overlapping),
2008 _ => None,
2009 }
2010 }
2011}
2012#[derive(prost_helpers::AnyPB)]
2013#[derive(prost_helpers::Version)]
2014#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2015#[repr(i32)]
2016pub enum CompatibilityVersion {
2017 VersionUnspecified = 0,
2018 NoTrivialSplit = 1,
2019 NoMemberTableIds = 2,
2020 SplitGroupByTableId = 3,
2021}
2022impl CompatibilityVersion {
2023 pub fn as_str_name(&self) -> &'static str {
2028 match self {
2029 Self::VersionUnspecified => "VERSION_UNSPECIFIED",
2030 Self::NoTrivialSplit => "NO_TRIVIAL_SPLIT",
2031 Self::NoMemberTableIds => "NO_MEMBER_TABLE_IDS",
2032 Self::SplitGroupByTableId => "SPLIT_GROUP_BY_TABLE_ID",
2033 }
2034 }
2035 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2037 match value {
2038 "VERSION_UNSPECIFIED" => Some(Self::VersionUnspecified),
2039 "NO_TRIVIAL_SPLIT" => Some(Self::NoTrivialSplit),
2040 "NO_MEMBER_TABLE_IDS" => Some(Self::NoMemberTableIds),
2041 "SPLIT_GROUP_BY_TABLE_ID" => Some(Self::SplitGroupByTableId),
2042 _ => None,
2043 }
2044 }
2045}
2046#[derive(prost_helpers::AnyPB)]
2047#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2048#[repr(i32)]
2049pub enum WatermarkSerdeType {
2050 TypeUnspecified = 0,
2051 PkPrefix = 1,
2052 NonPkPrefix = 2,
2053 Value = 3,
2054}
2055impl WatermarkSerdeType {
2056 pub fn as_str_name(&self) -> &'static str {
2061 match self {
2062 Self::TypeUnspecified => "TYPE_UNSPECIFIED",
2063 Self::PkPrefix => "PK_PREFIX",
2064 Self::NonPkPrefix => "NON_PK_PREFIX",
2065 Self::Value => "VALUE",
2066 }
2067 }
2068 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2070 match value {
2071 "TYPE_UNSPECIFIED" => Some(Self::TypeUnspecified),
2072 "PK_PREFIX" => Some(Self::PkPrefix),
2073 "NON_PK_PREFIX" => Some(Self::NonPkPrefix),
2074 "VALUE" => Some(Self::Value),
2075 _ => None,
2076 }
2077 }
2078}
2079#[derive(prost_helpers::AnyPB)]
2080#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2081#[repr(i32)]
2082pub enum VectorIndexObjectType {
2083 VectorIndexObjectUnspecified = 0,
2084 VectorIndexObjectVector = 1,
2085 VectorIndexObjectHnswGraph = 2,
2086}
2087impl VectorIndexObjectType {
2088 pub fn as_str_name(&self) -> &'static str {
2093 match self {
2094 Self::VectorIndexObjectUnspecified => "VECTOR_INDEX_OBJECT_UNSPECIFIED",
2095 Self::VectorIndexObjectVector => "VECTOR_INDEX_OBJECT_VECTOR",
2096 Self::VectorIndexObjectHnswGraph => "VECTOR_INDEX_OBJECT_HNSW_GRAPH",
2097 }
2098 }
2099 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2101 match value {
2102 "VECTOR_INDEX_OBJECT_UNSPECIFIED" => Some(Self::VectorIndexObjectUnspecified),
2103 "VECTOR_INDEX_OBJECT_VECTOR" => Some(Self::VectorIndexObjectVector),
2104 "VECTOR_INDEX_OBJECT_HNSW_GRAPH" => Some(Self::VectorIndexObjectHnswGraph),
2105 _ => None,
2106 }
2107 }
2108}
2109#[derive(prost_helpers::AnyPB)]
2111#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2112#[repr(i32)]
2113pub enum CheckpointCompressionAlgorithm {
2114 CheckpointCompressionUnspecified = 0,
2116 CheckpointCompressionZstd = 1,
2118 CheckpointCompressionLz4 = 2,
2120}
2121impl CheckpointCompressionAlgorithm {
2122 pub fn as_str_name(&self) -> &'static str {
2127 match self {
2128 Self::CheckpointCompressionUnspecified => {
2129 "CHECKPOINT_COMPRESSION_UNSPECIFIED"
2130 }
2131 Self::CheckpointCompressionZstd => "CHECKPOINT_COMPRESSION_ZSTD",
2132 Self::CheckpointCompressionLz4 => "CHECKPOINT_COMPRESSION_LZ4",
2133 }
2134 }
2135 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2137 match value {
2138 "CHECKPOINT_COMPRESSION_UNSPECIFIED" => {
2139 Some(Self::CheckpointCompressionUnspecified)
2140 }
2141 "CHECKPOINT_COMPRESSION_ZSTD" => Some(Self::CheckpointCompressionZstd),
2142 "CHECKPOINT_COMPRESSION_LZ4" => Some(Self::CheckpointCompressionLz4),
2143 _ => None,
2144 }
2145 }
2146}
2147pub mod hummock_manager_service_client {
2149 #![allow(
2150 unused_variables,
2151 dead_code,
2152 missing_docs,
2153 clippy::wildcard_imports,
2154 clippy::let_unit_value,
2155 )]
2156 use tonic::codegen::*;
2157 use tonic::codegen::http::Uri;
2158 #[derive(Debug, Clone)]
2159 pub struct HummockManagerServiceClient<T> {
2160 inner: tonic::client::Grpc<T>,
2161 }
2162 impl HummockManagerServiceClient<tonic::transport::Channel> {
2163 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
2165 where
2166 D: TryInto<tonic::transport::Endpoint>,
2167 D::Error: Into<StdError>,
2168 {
2169 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
2170 Ok(Self::new(conn))
2171 }
2172 }
2173 impl<T> HummockManagerServiceClient<T>
2174 where
2175 T: tonic::client::GrpcService<tonic::body::Body>,
2176 T::Error: Into<StdError>,
2177 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2178 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2179 {
2180 pub fn new(inner: T) -> Self {
2181 let inner = tonic::client::Grpc::new(inner);
2182 Self { inner }
2183 }
2184 pub fn with_origin(inner: T, origin: Uri) -> Self {
2185 let inner = tonic::client::Grpc::with_origin(inner, origin);
2186 Self { inner }
2187 }
2188 pub fn with_interceptor<F>(
2189 inner: T,
2190 interceptor: F,
2191 ) -> HummockManagerServiceClient<InterceptedService<T, F>>
2192 where
2193 F: tonic::service::Interceptor,
2194 T::ResponseBody: Default,
2195 T: tonic::codegen::Service<
2196 http::Request<tonic::body::Body>,
2197 Response = http::Response<
2198 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
2199 >,
2200 >,
2201 <T as tonic::codegen::Service<
2202 http::Request<tonic::body::Body>,
2203 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2204 {
2205 HummockManagerServiceClient::new(InterceptedService::new(inner, interceptor))
2206 }
2207 #[must_use]
2212 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2213 self.inner = self.inner.send_compressed(encoding);
2214 self
2215 }
2216 #[must_use]
2218 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2219 self.inner = self.inner.accept_compressed(encoding);
2220 self
2221 }
2222 #[must_use]
2226 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2227 self.inner = self.inner.max_decoding_message_size(limit);
2228 self
2229 }
2230 #[must_use]
2234 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2235 self.inner = self.inner.max_encoding_message_size(limit);
2236 self
2237 }
2238 pub async fn unpin_version_before(
2239 &mut self,
2240 request: impl tonic::IntoRequest<super::UnpinVersionBeforeRequest>,
2241 ) -> std::result::Result<
2242 tonic::Response<super::UnpinVersionBeforeResponse>,
2243 tonic::Status,
2244 > {
2245 self.inner
2246 .ready()
2247 .await
2248 .map_err(|e| {
2249 tonic::Status::unknown(
2250 format!("Service was not ready: {}", e.into()),
2251 )
2252 })?;
2253 let codec = tonic_prost::ProstCodec::default();
2254 let path = http::uri::PathAndQuery::from_static(
2255 "/hummock.HummockManagerService/UnpinVersionBefore",
2256 );
2257 let mut req = request.into_request();
2258 req.extensions_mut()
2259 .insert(
2260 GrpcMethod::new(
2261 "hummock.HummockManagerService",
2262 "UnpinVersionBefore",
2263 ),
2264 );
2265 self.inner.unary(req, path, codec).await
2266 }
2267 pub async fn get_current_version(
2268 &mut self,
2269 request: impl tonic::IntoRequest<super::GetCurrentVersionRequest>,
2270 ) -> std::result::Result<
2271 tonic::Response<super::GetCurrentVersionResponse>,
2272 tonic::Status,
2273 > {
2274 self.inner
2275 .ready()
2276 .await
2277 .map_err(|e| {
2278 tonic::Status::unknown(
2279 format!("Service was not ready: {}", e.into()),
2280 )
2281 })?;
2282 let codec = tonic_prost::ProstCodec::default();
2283 let path = http::uri::PathAndQuery::from_static(
2284 "/hummock.HummockManagerService/GetCurrentVersion",
2285 );
2286 let mut req = request.into_request();
2287 req.extensions_mut()
2288 .insert(
2289 GrpcMethod::new("hummock.HummockManagerService", "GetCurrentVersion"),
2290 );
2291 self.inner.unary(req, path, codec).await
2292 }
2293 pub async fn list_version_deltas(
2294 &mut self,
2295 request: impl tonic::IntoRequest<super::ListVersionDeltasRequest>,
2296 ) -> std::result::Result<
2297 tonic::Response<super::ListVersionDeltasResponse>,
2298 tonic::Status,
2299 > {
2300 self.inner
2301 .ready()
2302 .await
2303 .map_err(|e| {
2304 tonic::Status::unknown(
2305 format!("Service was not ready: {}", e.into()),
2306 )
2307 })?;
2308 let codec = tonic_prost::ProstCodec::default();
2309 let path = http::uri::PathAndQuery::from_static(
2310 "/hummock.HummockManagerService/ListVersionDeltas",
2311 );
2312 let mut req = request.into_request();
2313 req.extensions_mut()
2314 .insert(
2315 GrpcMethod::new("hummock.HummockManagerService", "ListVersionDeltas"),
2316 );
2317 self.inner.unary(req, path, codec).await
2318 }
2319 pub async fn replay_version_delta(
2320 &mut self,
2321 request: impl tonic::IntoRequest<super::ReplayVersionDeltaRequest>,
2322 ) -> std::result::Result<
2323 tonic::Response<super::ReplayVersionDeltaResponse>,
2324 tonic::Status,
2325 > {
2326 self.inner
2327 .ready()
2328 .await
2329 .map_err(|e| {
2330 tonic::Status::unknown(
2331 format!("Service was not ready: {}", e.into()),
2332 )
2333 })?;
2334 let codec = tonic_prost::ProstCodec::default();
2335 let path = http::uri::PathAndQuery::from_static(
2336 "/hummock.HummockManagerService/ReplayVersionDelta",
2337 );
2338 let mut req = request.into_request();
2339 req.extensions_mut()
2340 .insert(
2341 GrpcMethod::new(
2342 "hummock.HummockManagerService",
2343 "ReplayVersionDelta",
2344 ),
2345 );
2346 self.inner.unary(req, path, codec).await
2347 }
2348 pub async fn get_assigned_compact_task_num(
2349 &mut self,
2350 request: impl tonic::IntoRequest<super::GetAssignedCompactTaskNumRequest>,
2351 ) -> std::result::Result<
2352 tonic::Response<super::GetAssignedCompactTaskNumResponse>,
2353 tonic::Status,
2354 > {
2355 self.inner
2356 .ready()
2357 .await
2358 .map_err(|e| {
2359 tonic::Status::unknown(
2360 format!("Service was not ready: {}", e.into()),
2361 )
2362 })?;
2363 let codec = tonic_prost::ProstCodec::default();
2364 let path = http::uri::PathAndQuery::from_static(
2365 "/hummock.HummockManagerService/GetAssignedCompactTaskNum",
2366 );
2367 let mut req = request.into_request();
2368 req.extensions_mut()
2369 .insert(
2370 GrpcMethod::new(
2371 "hummock.HummockManagerService",
2372 "GetAssignedCompactTaskNum",
2373 ),
2374 );
2375 self.inner.unary(req, path, codec).await
2376 }
2377 pub async fn trigger_compaction_deterministic(
2378 &mut self,
2379 request: impl tonic::IntoRequest<
2380 super::TriggerCompactionDeterministicRequest,
2381 >,
2382 ) -> std::result::Result<
2383 tonic::Response<super::TriggerCompactionDeterministicResponse>,
2384 tonic::Status,
2385 > {
2386 self.inner
2387 .ready()
2388 .await
2389 .map_err(|e| {
2390 tonic::Status::unknown(
2391 format!("Service was not ready: {}", e.into()),
2392 )
2393 })?;
2394 let codec = tonic_prost::ProstCodec::default();
2395 let path = http::uri::PathAndQuery::from_static(
2396 "/hummock.HummockManagerService/TriggerCompactionDeterministic",
2397 );
2398 let mut req = request.into_request();
2399 req.extensions_mut()
2400 .insert(
2401 GrpcMethod::new(
2402 "hummock.HummockManagerService",
2403 "TriggerCompactionDeterministic",
2404 ),
2405 );
2406 self.inner.unary(req, path, codec).await
2407 }
2408 pub async fn disable_commit_epoch(
2409 &mut self,
2410 request: impl tonic::IntoRequest<super::DisableCommitEpochRequest>,
2411 ) -> std::result::Result<
2412 tonic::Response<super::DisableCommitEpochResponse>,
2413 tonic::Status,
2414 > {
2415 self.inner
2416 .ready()
2417 .await
2418 .map_err(|e| {
2419 tonic::Status::unknown(
2420 format!("Service was not ready: {}", e.into()),
2421 )
2422 })?;
2423 let codec = tonic_prost::ProstCodec::default();
2424 let path = http::uri::PathAndQuery::from_static(
2425 "/hummock.HummockManagerService/DisableCommitEpoch",
2426 );
2427 let mut req = request.into_request();
2428 req.extensions_mut()
2429 .insert(
2430 GrpcMethod::new(
2431 "hummock.HummockManagerService",
2432 "DisableCommitEpoch",
2433 ),
2434 );
2435 self.inner.unary(req, path, codec).await
2436 }
2437 pub async fn get_new_object_ids(
2438 &mut self,
2439 request: impl tonic::IntoRequest<super::GetNewObjectIdsRequest>,
2440 ) -> std::result::Result<
2441 tonic::Response<super::GetNewObjectIdsResponse>,
2442 tonic::Status,
2443 > {
2444 self.inner
2445 .ready()
2446 .await
2447 .map_err(|e| {
2448 tonic::Status::unknown(
2449 format!("Service was not ready: {}", e.into()),
2450 )
2451 })?;
2452 let codec = tonic_prost::ProstCodec::default();
2453 let path = http::uri::PathAndQuery::from_static(
2454 "/hummock.HummockManagerService/GetNewObjectIds",
2455 );
2456 let mut req = request.into_request();
2457 req.extensions_mut()
2458 .insert(
2459 GrpcMethod::new("hummock.HummockManagerService", "GetNewObjectIds"),
2460 );
2461 self.inner.unary(req, path, codec).await
2462 }
2463 pub async fn trigger_manual_compaction(
2464 &mut self,
2465 request: impl tonic::IntoRequest<super::TriggerManualCompactionRequest>,
2466 ) -> std::result::Result<
2467 tonic::Response<super::TriggerManualCompactionResponse>,
2468 tonic::Status,
2469 > {
2470 self.inner
2471 .ready()
2472 .await
2473 .map_err(|e| {
2474 tonic::Status::unknown(
2475 format!("Service was not ready: {}", e.into()),
2476 )
2477 })?;
2478 let codec = tonic_prost::ProstCodec::default();
2479 let path = http::uri::PathAndQuery::from_static(
2480 "/hummock.HummockManagerService/TriggerManualCompaction",
2481 );
2482 let mut req = request.into_request();
2483 req.extensions_mut()
2484 .insert(
2485 GrpcMethod::new(
2486 "hummock.HummockManagerService",
2487 "TriggerManualCompaction",
2488 ),
2489 );
2490 self.inner.unary(req, path, codec).await
2491 }
2492 pub async fn trigger_full_gc(
2493 &mut self,
2494 request: impl tonic::IntoRequest<super::TriggerFullGcRequest>,
2495 ) -> std::result::Result<
2496 tonic::Response<super::TriggerFullGcResponse>,
2497 tonic::Status,
2498 > {
2499 self.inner
2500 .ready()
2501 .await
2502 .map_err(|e| {
2503 tonic::Status::unknown(
2504 format!("Service was not ready: {}", e.into()),
2505 )
2506 })?;
2507 let codec = tonic_prost::ProstCodec::default();
2508 let path = http::uri::PathAndQuery::from_static(
2509 "/hummock.HummockManagerService/TriggerFullGC",
2510 );
2511 let mut req = request.into_request();
2512 req.extensions_mut()
2513 .insert(
2514 GrpcMethod::new("hummock.HummockManagerService", "TriggerFullGC"),
2515 );
2516 self.inner.unary(req, path, codec).await
2517 }
2518 pub async fn rise_ctl_get_pinned_versions_summary(
2519 &mut self,
2520 request: impl tonic::IntoRequest<
2521 super::RiseCtlGetPinnedVersionsSummaryRequest,
2522 >,
2523 ) -> std::result::Result<
2524 tonic::Response<super::RiseCtlGetPinnedVersionsSummaryResponse>,
2525 tonic::Status,
2526 > {
2527 self.inner
2528 .ready()
2529 .await
2530 .map_err(|e| {
2531 tonic::Status::unknown(
2532 format!("Service was not ready: {}", e.into()),
2533 )
2534 })?;
2535 let codec = tonic_prost::ProstCodec::default();
2536 let path = http::uri::PathAndQuery::from_static(
2537 "/hummock.HummockManagerService/RiseCtlGetPinnedVersionsSummary",
2538 );
2539 let mut req = request.into_request();
2540 req.extensions_mut()
2541 .insert(
2542 GrpcMethod::new(
2543 "hummock.HummockManagerService",
2544 "RiseCtlGetPinnedVersionsSummary",
2545 ),
2546 );
2547 self.inner.unary(req, path, codec).await
2548 }
2549 pub async fn rise_ctl_list_compaction_group(
2550 &mut self,
2551 request: impl tonic::IntoRequest<super::RiseCtlListCompactionGroupRequest>,
2552 ) -> std::result::Result<
2553 tonic::Response<super::RiseCtlListCompactionGroupResponse>,
2554 tonic::Status,
2555 > {
2556 self.inner
2557 .ready()
2558 .await
2559 .map_err(|e| {
2560 tonic::Status::unknown(
2561 format!("Service was not ready: {}", e.into()),
2562 )
2563 })?;
2564 let codec = tonic_prost::ProstCodec::default();
2565 let path = http::uri::PathAndQuery::from_static(
2566 "/hummock.HummockManagerService/RiseCtlListCompactionGroup",
2567 );
2568 let mut req = request.into_request();
2569 req.extensions_mut()
2570 .insert(
2571 GrpcMethod::new(
2572 "hummock.HummockManagerService",
2573 "RiseCtlListCompactionGroup",
2574 ),
2575 );
2576 self.inner.unary(req, path, codec).await
2577 }
2578 pub async fn rise_ctl_update_compaction_config(
2579 &mut self,
2580 request: impl tonic::IntoRequest<super::RiseCtlUpdateCompactionConfigRequest>,
2581 ) -> std::result::Result<
2582 tonic::Response<super::RiseCtlUpdateCompactionConfigResponse>,
2583 tonic::Status,
2584 > {
2585 self.inner
2586 .ready()
2587 .await
2588 .map_err(|e| {
2589 tonic::Status::unknown(
2590 format!("Service was not ready: {}", e.into()),
2591 )
2592 })?;
2593 let codec = tonic_prost::ProstCodec::default();
2594 let path = http::uri::PathAndQuery::from_static(
2595 "/hummock.HummockManagerService/RiseCtlUpdateCompactionConfig",
2596 );
2597 let mut req = request.into_request();
2598 req.extensions_mut()
2599 .insert(
2600 GrpcMethod::new(
2601 "hummock.HummockManagerService",
2602 "RiseCtlUpdateCompactionConfig",
2603 ),
2604 );
2605 self.inner.unary(req, path, codec).await
2606 }
2607 pub async fn rise_ctl_pause_version_checkpoint(
2608 &mut self,
2609 request: impl tonic::IntoRequest<super::RiseCtlPauseVersionCheckpointRequest>,
2610 ) -> std::result::Result<
2611 tonic::Response<super::RiseCtlPauseVersionCheckpointResponse>,
2612 tonic::Status,
2613 > {
2614 self.inner
2615 .ready()
2616 .await
2617 .map_err(|e| {
2618 tonic::Status::unknown(
2619 format!("Service was not ready: {}", e.into()),
2620 )
2621 })?;
2622 let codec = tonic_prost::ProstCodec::default();
2623 let path = http::uri::PathAndQuery::from_static(
2624 "/hummock.HummockManagerService/RiseCtlPauseVersionCheckpoint",
2625 );
2626 let mut req = request.into_request();
2627 req.extensions_mut()
2628 .insert(
2629 GrpcMethod::new(
2630 "hummock.HummockManagerService",
2631 "RiseCtlPauseVersionCheckpoint",
2632 ),
2633 );
2634 self.inner.unary(req, path, codec).await
2635 }
2636 pub async fn rise_ctl_resume_version_checkpoint(
2637 &mut self,
2638 request: impl tonic::IntoRequest<
2639 super::RiseCtlResumeVersionCheckpointRequest,
2640 >,
2641 ) -> std::result::Result<
2642 tonic::Response<super::RiseCtlResumeVersionCheckpointResponse>,
2643 tonic::Status,
2644 > {
2645 self.inner
2646 .ready()
2647 .await
2648 .map_err(|e| {
2649 tonic::Status::unknown(
2650 format!("Service was not ready: {}", e.into()),
2651 )
2652 })?;
2653 let codec = tonic_prost::ProstCodec::default();
2654 let path = http::uri::PathAndQuery::from_static(
2655 "/hummock.HummockManagerService/RiseCtlResumeVersionCheckpoint",
2656 );
2657 let mut req = request.into_request();
2658 req.extensions_mut()
2659 .insert(
2660 GrpcMethod::new(
2661 "hummock.HummockManagerService",
2662 "RiseCtlResumeVersionCheckpoint",
2663 ),
2664 );
2665 self.inner.unary(req, path, codec).await
2666 }
2667 pub async fn rise_ctl_get_checkpoint_version(
2668 &mut self,
2669 request: impl tonic::IntoRequest<super::RiseCtlGetCheckpointVersionRequest>,
2670 ) -> std::result::Result<
2671 tonic::Response<super::RiseCtlGetCheckpointVersionResponse>,
2672 tonic::Status,
2673 > {
2674 self.inner
2675 .ready()
2676 .await
2677 .map_err(|e| {
2678 tonic::Status::unknown(
2679 format!("Service was not ready: {}", e.into()),
2680 )
2681 })?;
2682 let codec = tonic_prost::ProstCodec::default();
2683 let path = http::uri::PathAndQuery::from_static(
2684 "/hummock.HummockManagerService/RiseCtlGetCheckpointVersion",
2685 );
2686 let mut req = request.into_request();
2687 req.extensions_mut()
2688 .insert(
2689 GrpcMethod::new(
2690 "hummock.HummockManagerService",
2691 "RiseCtlGetCheckpointVersion",
2692 ),
2693 );
2694 self.inner.unary(req, path, codec).await
2695 }
2696 pub async fn rise_ctl_rebuild_table_stats(
2697 &mut self,
2698 request: impl tonic::IntoRequest<super::RiseCtlRebuildTableStatsRequest>,
2699 ) -> std::result::Result<
2700 tonic::Response<super::RiseCtlRebuildTableStatsResponse>,
2701 tonic::Status,
2702 > {
2703 self.inner
2704 .ready()
2705 .await
2706 .map_err(|e| {
2707 tonic::Status::unknown(
2708 format!("Service was not ready: {}", e.into()),
2709 )
2710 })?;
2711 let codec = tonic_prost::ProstCodec::default();
2712 let path = http::uri::PathAndQuery::from_static(
2713 "/hummock.HummockManagerService/RiseCtlRebuildTableStats",
2714 );
2715 let mut req = request.into_request();
2716 req.extensions_mut()
2717 .insert(
2718 GrpcMethod::new(
2719 "hummock.HummockManagerService",
2720 "RiseCtlRebuildTableStats",
2721 ),
2722 );
2723 self.inner.unary(req, path, codec).await
2724 }
2725 pub async fn init_metadata_for_replay(
2726 &mut self,
2727 request: impl tonic::IntoRequest<super::InitMetadataForReplayRequest>,
2728 ) -> std::result::Result<
2729 tonic::Response<super::InitMetadataForReplayResponse>,
2730 tonic::Status,
2731 > {
2732 self.inner
2733 .ready()
2734 .await
2735 .map_err(|e| {
2736 tonic::Status::unknown(
2737 format!("Service was not ready: {}", e.into()),
2738 )
2739 })?;
2740 let codec = tonic_prost::ProstCodec::default();
2741 let path = http::uri::PathAndQuery::from_static(
2742 "/hummock.HummockManagerService/InitMetadataForReplay",
2743 );
2744 let mut req = request.into_request();
2745 req.extensions_mut()
2746 .insert(
2747 GrpcMethod::new(
2748 "hummock.HummockManagerService",
2749 "InitMetadataForReplay",
2750 ),
2751 );
2752 self.inner.unary(req, path, codec).await
2753 }
2754 pub async fn pin_version(
2755 &mut self,
2756 request: impl tonic::IntoRequest<super::PinVersionRequest>,
2757 ) -> std::result::Result<
2758 tonic::Response<super::PinVersionResponse>,
2759 tonic::Status,
2760 > {
2761 self.inner
2762 .ready()
2763 .await
2764 .map_err(|e| {
2765 tonic::Status::unknown(
2766 format!("Service was not ready: {}", e.into()),
2767 )
2768 })?;
2769 let codec = tonic_prost::ProstCodec::default();
2770 let path = http::uri::PathAndQuery::from_static(
2771 "/hummock.HummockManagerService/PinVersion",
2772 );
2773 let mut req = request.into_request();
2774 req.extensions_mut()
2775 .insert(GrpcMethod::new("hummock.HummockManagerService", "PinVersion"));
2776 self.inner.unary(req, path, codec).await
2777 }
2778 pub async fn split_compaction_group(
2779 &mut self,
2780 request: impl tonic::IntoRequest<super::SplitCompactionGroupRequest>,
2781 ) -> std::result::Result<
2782 tonic::Response<super::SplitCompactionGroupResponse>,
2783 tonic::Status,
2784 > {
2785 self.inner
2786 .ready()
2787 .await
2788 .map_err(|e| {
2789 tonic::Status::unknown(
2790 format!("Service was not ready: {}", e.into()),
2791 )
2792 })?;
2793 let codec = tonic_prost::ProstCodec::default();
2794 let path = http::uri::PathAndQuery::from_static(
2795 "/hummock.HummockManagerService/SplitCompactionGroup",
2796 );
2797 let mut req = request.into_request();
2798 req.extensions_mut()
2799 .insert(
2800 GrpcMethod::new(
2801 "hummock.HummockManagerService",
2802 "SplitCompactionGroup",
2803 ),
2804 );
2805 self.inner.unary(req, path, codec).await
2806 }
2807 pub async fn rise_ctl_list_compaction_status(
2808 &mut self,
2809 request: impl tonic::IntoRequest<super::RiseCtlListCompactionStatusRequest>,
2810 ) -> std::result::Result<
2811 tonic::Response<super::RiseCtlListCompactionStatusResponse>,
2812 tonic::Status,
2813 > {
2814 self.inner
2815 .ready()
2816 .await
2817 .map_err(|e| {
2818 tonic::Status::unknown(
2819 format!("Service was not ready: {}", e.into()),
2820 )
2821 })?;
2822 let codec = tonic_prost::ProstCodec::default();
2823 let path = http::uri::PathAndQuery::from_static(
2824 "/hummock.HummockManagerService/RiseCtlListCompactionStatus",
2825 );
2826 let mut req = request.into_request();
2827 req.extensions_mut()
2828 .insert(
2829 GrpcMethod::new(
2830 "hummock.HummockManagerService",
2831 "RiseCtlListCompactionStatus",
2832 ),
2833 );
2834 self.inner.unary(req, path, codec).await
2835 }
2836 pub async fn subscribe_compaction_event(
2837 &mut self,
2838 request: impl tonic::IntoStreamingRequest<
2839 Message = super::SubscribeCompactionEventRequest,
2840 >,
2841 ) -> std::result::Result<
2842 tonic::Response<
2843 tonic::codec::Streaming<super::SubscribeCompactionEventResponse>,
2844 >,
2845 tonic::Status,
2846 > {
2847 self.inner
2848 .ready()
2849 .await
2850 .map_err(|e| {
2851 tonic::Status::unknown(
2852 format!("Service was not ready: {}", e.into()),
2853 )
2854 })?;
2855 let codec = tonic_prost::ProstCodec::default();
2856 let path = http::uri::PathAndQuery::from_static(
2857 "/hummock.HummockManagerService/SubscribeCompactionEvent",
2858 );
2859 let mut req = request.into_streaming_request();
2860 req.extensions_mut()
2861 .insert(
2862 GrpcMethod::new(
2863 "hummock.HummockManagerService",
2864 "SubscribeCompactionEvent",
2865 ),
2866 );
2867 self.inner.streaming(req, path, codec).await
2868 }
2869 pub async fn report_compaction_task(
2870 &mut self,
2871 request: impl tonic::IntoRequest<super::ReportCompactionTaskRequest>,
2872 ) -> std::result::Result<
2873 tonic::Response<super::ReportCompactionTaskResponse>,
2874 tonic::Status,
2875 > {
2876 self.inner
2877 .ready()
2878 .await
2879 .map_err(|e| {
2880 tonic::Status::unknown(
2881 format!("Service was not ready: {}", e.into()),
2882 )
2883 })?;
2884 let codec = tonic_prost::ProstCodec::default();
2885 let path = http::uri::PathAndQuery::from_static(
2886 "/hummock.HummockManagerService/ReportCompactionTask",
2887 );
2888 let mut req = request.into_request();
2889 req.extensions_mut()
2890 .insert(
2891 GrpcMethod::new(
2892 "hummock.HummockManagerService",
2893 "ReportCompactionTask",
2894 ),
2895 );
2896 self.inner.unary(req, path, codec).await
2897 }
2898 pub async fn list_branched_object(
2899 &mut self,
2900 request: impl tonic::IntoRequest<super::ListBranchedObjectRequest>,
2901 ) -> std::result::Result<
2902 tonic::Response<super::ListBranchedObjectResponse>,
2903 tonic::Status,
2904 > {
2905 self.inner
2906 .ready()
2907 .await
2908 .map_err(|e| {
2909 tonic::Status::unknown(
2910 format!("Service was not ready: {}", e.into()),
2911 )
2912 })?;
2913 let codec = tonic_prost::ProstCodec::default();
2914 let path = http::uri::PathAndQuery::from_static(
2915 "/hummock.HummockManagerService/ListBranchedObject",
2916 );
2917 let mut req = request.into_request();
2918 req.extensions_mut()
2919 .insert(
2920 GrpcMethod::new(
2921 "hummock.HummockManagerService",
2922 "ListBranchedObject",
2923 ),
2924 );
2925 self.inner.unary(req, path, codec).await
2926 }
2927 pub async fn list_active_write_limit(
2928 &mut self,
2929 request: impl tonic::IntoRequest<super::ListActiveWriteLimitRequest>,
2930 ) -> std::result::Result<
2931 tonic::Response<super::ListActiveWriteLimitResponse>,
2932 tonic::Status,
2933 > {
2934 self.inner
2935 .ready()
2936 .await
2937 .map_err(|e| {
2938 tonic::Status::unknown(
2939 format!("Service was not ready: {}", e.into()),
2940 )
2941 })?;
2942 let codec = tonic_prost::ProstCodec::default();
2943 let path = http::uri::PathAndQuery::from_static(
2944 "/hummock.HummockManagerService/ListActiveWriteLimit",
2945 );
2946 let mut req = request.into_request();
2947 req.extensions_mut()
2948 .insert(
2949 GrpcMethod::new(
2950 "hummock.HummockManagerService",
2951 "ListActiveWriteLimit",
2952 ),
2953 );
2954 self.inner.unary(req, path, codec).await
2955 }
2956 pub async fn list_hummock_meta_config(
2957 &mut self,
2958 request: impl tonic::IntoRequest<super::ListHummockMetaConfigRequest>,
2959 ) -> std::result::Result<
2960 tonic::Response<super::ListHummockMetaConfigResponse>,
2961 tonic::Status,
2962 > {
2963 self.inner
2964 .ready()
2965 .await
2966 .map_err(|e| {
2967 tonic::Status::unknown(
2968 format!("Service was not ready: {}", e.into()),
2969 )
2970 })?;
2971 let codec = tonic_prost::ProstCodec::default();
2972 let path = http::uri::PathAndQuery::from_static(
2973 "/hummock.HummockManagerService/ListHummockMetaConfig",
2974 );
2975 let mut req = request.into_request();
2976 req.extensions_mut()
2977 .insert(
2978 GrpcMethod::new(
2979 "hummock.HummockManagerService",
2980 "ListHummockMetaConfig",
2981 ),
2982 );
2983 self.inner.unary(req, path, codec).await
2984 }
2985 pub async fn get_compaction_score(
2986 &mut self,
2987 request: impl tonic::IntoRequest<super::GetCompactionScoreRequest>,
2988 ) -> std::result::Result<
2989 tonic::Response<super::GetCompactionScoreResponse>,
2990 tonic::Status,
2991 > {
2992 self.inner
2993 .ready()
2994 .await
2995 .map_err(|e| {
2996 tonic::Status::unknown(
2997 format!("Service was not ready: {}", e.into()),
2998 )
2999 })?;
3000 let codec = tonic_prost::ProstCodec::default();
3001 let path = http::uri::PathAndQuery::from_static(
3002 "/hummock.HummockManagerService/GetCompactionScore",
3003 );
3004 let mut req = request.into_request();
3005 req.extensions_mut()
3006 .insert(
3007 GrpcMethod::new(
3008 "hummock.HummockManagerService",
3009 "GetCompactionScore",
3010 ),
3011 );
3012 self.inner.unary(req, path, codec).await
3013 }
3014 pub async fn list_compact_task_assignment(
3015 &mut self,
3016 request: impl tonic::IntoRequest<super::ListCompactTaskAssignmentRequest>,
3017 ) -> std::result::Result<
3018 tonic::Response<super::ListCompactTaskAssignmentResponse>,
3019 tonic::Status,
3020 > {
3021 self.inner
3022 .ready()
3023 .await
3024 .map_err(|e| {
3025 tonic::Status::unknown(
3026 format!("Service was not ready: {}", e.into()),
3027 )
3028 })?;
3029 let codec = tonic_prost::ProstCodec::default();
3030 let path = http::uri::PathAndQuery::from_static(
3031 "/hummock.HummockManagerService/ListCompactTaskAssignment",
3032 );
3033 let mut req = request.into_request();
3034 req.extensions_mut()
3035 .insert(
3036 GrpcMethod::new(
3037 "hummock.HummockManagerService",
3038 "ListCompactTaskAssignment",
3039 ),
3040 );
3041 self.inner.unary(req, path, codec).await
3042 }
3043 pub async fn list_compact_task_progress(
3044 &mut self,
3045 request: impl tonic::IntoRequest<super::ListCompactTaskProgressRequest>,
3046 ) -> std::result::Result<
3047 tonic::Response<super::ListCompactTaskProgressResponse>,
3048 tonic::Status,
3049 > {
3050 self.inner
3051 .ready()
3052 .await
3053 .map_err(|e| {
3054 tonic::Status::unknown(
3055 format!("Service was not ready: {}", e.into()),
3056 )
3057 })?;
3058 let codec = tonic_prost::ProstCodec::default();
3059 let path = http::uri::PathAndQuery::from_static(
3060 "/hummock.HummockManagerService/ListCompactTaskProgress",
3061 );
3062 let mut req = request.into_request();
3063 req.extensions_mut()
3064 .insert(
3065 GrpcMethod::new(
3066 "hummock.HummockManagerService",
3067 "ListCompactTaskProgress",
3068 ),
3069 );
3070 self.inner.unary(req, path, codec).await
3071 }
3072 pub async fn cancel_compact_task(
3073 &mut self,
3074 request: impl tonic::IntoRequest<super::CancelCompactTaskRequest>,
3075 ) -> std::result::Result<
3076 tonic::Response<super::CancelCompactTaskResponse>,
3077 tonic::Status,
3078 > {
3079 self.inner
3080 .ready()
3081 .await
3082 .map_err(|e| {
3083 tonic::Status::unknown(
3084 format!("Service was not ready: {}", e.into()),
3085 )
3086 })?;
3087 let codec = tonic_prost::ProstCodec::default();
3088 let path = http::uri::PathAndQuery::from_static(
3089 "/hummock.HummockManagerService/CancelCompactTask",
3090 );
3091 let mut req = request.into_request();
3092 req.extensions_mut()
3093 .insert(
3094 GrpcMethod::new("hummock.HummockManagerService", "CancelCompactTask"),
3095 );
3096 self.inner.unary(req, path, codec).await
3097 }
3098 pub async fn get_version_by_epoch(
3099 &mut self,
3100 request: impl tonic::IntoRequest<super::GetVersionByEpochRequest>,
3101 ) -> std::result::Result<
3102 tonic::Response<super::GetVersionByEpochResponse>,
3103 tonic::Status,
3104 > {
3105 self.inner
3106 .ready()
3107 .await
3108 .map_err(|e| {
3109 tonic::Status::unknown(
3110 format!("Service was not ready: {}", e.into()),
3111 )
3112 })?;
3113 let codec = tonic_prost::ProstCodec::default();
3114 let path = http::uri::PathAndQuery::from_static(
3115 "/hummock.HummockManagerService/GetVersionByEpoch",
3116 );
3117 let mut req = request.into_request();
3118 req.extensions_mut()
3119 .insert(
3120 GrpcMethod::new("hummock.HummockManagerService", "GetVersionByEpoch"),
3121 );
3122 self.inner.unary(req, path, codec).await
3123 }
3124 pub async fn merge_compaction_group(
3125 &mut self,
3126 request: impl tonic::IntoRequest<super::MergeCompactionGroupRequest>,
3127 ) -> std::result::Result<
3128 tonic::Response<super::MergeCompactionGroupResponse>,
3129 tonic::Status,
3130 > {
3131 self.inner
3132 .ready()
3133 .await
3134 .map_err(|e| {
3135 tonic::Status::unknown(
3136 format!("Service was not ready: {}", e.into()),
3137 )
3138 })?;
3139 let codec = tonic_prost::ProstCodec::default();
3140 let path = http::uri::PathAndQuery::from_static(
3141 "/hummock.HummockManagerService/MergeCompactionGroup",
3142 );
3143 let mut req = request.into_request();
3144 req.extensions_mut()
3145 .insert(
3146 GrpcMethod::new(
3147 "hummock.HummockManagerService",
3148 "MergeCompactionGroup",
3149 ),
3150 );
3151 self.inner.unary(req, path, codec).await
3152 }
3153 pub async fn get_table_change_logs(
3154 &mut self,
3155 request: impl tonic::IntoRequest<super::GetTableChangeLogsRequest>,
3156 ) -> std::result::Result<
3157 tonic::Response<super::GetTableChangeLogsResponse>,
3158 tonic::Status,
3159 > {
3160 self.inner
3161 .ready()
3162 .await
3163 .map_err(|e| {
3164 tonic::Status::unknown(
3165 format!("Service was not ready: {}", e.into()),
3166 )
3167 })?;
3168 let codec = tonic_prost::ProstCodec::default();
3169 let path = http::uri::PathAndQuery::from_static(
3170 "/hummock.HummockManagerService/GetTableChangeLogs",
3171 );
3172 let mut req = request.into_request();
3173 req.extensions_mut()
3174 .insert(
3175 GrpcMethod::new(
3176 "hummock.HummockManagerService",
3177 "GetTableChangeLogs",
3178 ),
3179 );
3180 self.inner.unary(req, path, codec).await
3181 }
3182 pub async fn subscribe_iceberg_compaction_event(
3184 &mut self,
3185 request: impl tonic::IntoStreamingRequest<
3186 Message = super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
3187 >,
3188 ) -> std::result::Result<
3189 tonic::Response<
3190 tonic::codec::Streaming<
3191 super::super::iceberg_compaction::SubscribeIcebergCompactionEventResponse,
3192 >,
3193 >,
3194 tonic::Status,
3195 > {
3196 self.inner
3197 .ready()
3198 .await
3199 .map_err(|e| {
3200 tonic::Status::unknown(
3201 format!("Service was not ready: {}", e.into()),
3202 )
3203 })?;
3204 let codec = tonic_prost::ProstCodec::default();
3205 let path = http::uri::PathAndQuery::from_static(
3206 "/hummock.HummockManagerService/SubscribeIcebergCompactionEvent",
3207 );
3208 let mut req = request.into_streaming_request();
3209 req.extensions_mut()
3210 .insert(
3211 GrpcMethod::new(
3212 "hummock.HummockManagerService",
3213 "SubscribeIcebergCompactionEvent",
3214 ),
3215 );
3216 self.inner.streaming(req, path, codec).await
3217 }
3218 }
3219}
3220pub mod hummock_manager_service_server {
3222 #![allow(
3223 unused_variables,
3224 dead_code,
3225 missing_docs,
3226 clippy::wildcard_imports,
3227 clippy::let_unit_value,
3228 )]
3229 use tonic::codegen::*;
3230 #[async_trait]
3232 pub trait HummockManagerService: std::marker::Send + std::marker::Sync + 'static {
3233 async fn unpin_version_before(
3234 &self,
3235 request: tonic::Request<super::UnpinVersionBeforeRequest>,
3236 ) -> std::result::Result<
3237 tonic::Response<super::UnpinVersionBeforeResponse>,
3238 tonic::Status,
3239 >;
3240 async fn get_current_version(
3241 &self,
3242 request: tonic::Request<super::GetCurrentVersionRequest>,
3243 ) -> std::result::Result<
3244 tonic::Response<super::GetCurrentVersionResponse>,
3245 tonic::Status,
3246 >;
3247 async fn list_version_deltas(
3248 &self,
3249 request: tonic::Request<super::ListVersionDeltasRequest>,
3250 ) -> std::result::Result<
3251 tonic::Response<super::ListVersionDeltasResponse>,
3252 tonic::Status,
3253 >;
3254 async fn replay_version_delta(
3255 &self,
3256 request: tonic::Request<super::ReplayVersionDeltaRequest>,
3257 ) -> std::result::Result<
3258 tonic::Response<super::ReplayVersionDeltaResponse>,
3259 tonic::Status,
3260 >;
3261 async fn get_assigned_compact_task_num(
3262 &self,
3263 request: tonic::Request<super::GetAssignedCompactTaskNumRequest>,
3264 ) -> std::result::Result<
3265 tonic::Response<super::GetAssignedCompactTaskNumResponse>,
3266 tonic::Status,
3267 >;
3268 async fn trigger_compaction_deterministic(
3269 &self,
3270 request: tonic::Request<super::TriggerCompactionDeterministicRequest>,
3271 ) -> std::result::Result<
3272 tonic::Response<super::TriggerCompactionDeterministicResponse>,
3273 tonic::Status,
3274 >;
3275 async fn disable_commit_epoch(
3276 &self,
3277 request: tonic::Request<super::DisableCommitEpochRequest>,
3278 ) -> std::result::Result<
3279 tonic::Response<super::DisableCommitEpochResponse>,
3280 tonic::Status,
3281 >;
3282 async fn get_new_object_ids(
3283 &self,
3284 request: tonic::Request<super::GetNewObjectIdsRequest>,
3285 ) -> std::result::Result<
3286 tonic::Response<super::GetNewObjectIdsResponse>,
3287 tonic::Status,
3288 >;
3289 async fn trigger_manual_compaction(
3290 &self,
3291 request: tonic::Request<super::TriggerManualCompactionRequest>,
3292 ) -> std::result::Result<
3293 tonic::Response<super::TriggerManualCompactionResponse>,
3294 tonic::Status,
3295 >;
3296 async fn trigger_full_gc(
3297 &self,
3298 request: tonic::Request<super::TriggerFullGcRequest>,
3299 ) -> std::result::Result<
3300 tonic::Response<super::TriggerFullGcResponse>,
3301 tonic::Status,
3302 >;
3303 async fn rise_ctl_get_pinned_versions_summary(
3304 &self,
3305 request: tonic::Request<super::RiseCtlGetPinnedVersionsSummaryRequest>,
3306 ) -> std::result::Result<
3307 tonic::Response<super::RiseCtlGetPinnedVersionsSummaryResponse>,
3308 tonic::Status,
3309 >;
3310 async fn rise_ctl_list_compaction_group(
3311 &self,
3312 request: tonic::Request<super::RiseCtlListCompactionGroupRequest>,
3313 ) -> std::result::Result<
3314 tonic::Response<super::RiseCtlListCompactionGroupResponse>,
3315 tonic::Status,
3316 >;
3317 async fn rise_ctl_update_compaction_config(
3318 &self,
3319 request: tonic::Request<super::RiseCtlUpdateCompactionConfigRequest>,
3320 ) -> std::result::Result<
3321 tonic::Response<super::RiseCtlUpdateCompactionConfigResponse>,
3322 tonic::Status,
3323 >;
3324 async fn rise_ctl_pause_version_checkpoint(
3325 &self,
3326 request: tonic::Request<super::RiseCtlPauseVersionCheckpointRequest>,
3327 ) -> std::result::Result<
3328 tonic::Response<super::RiseCtlPauseVersionCheckpointResponse>,
3329 tonic::Status,
3330 >;
3331 async fn rise_ctl_resume_version_checkpoint(
3332 &self,
3333 request: tonic::Request<super::RiseCtlResumeVersionCheckpointRequest>,
3334 ) -> std::result::Result<
3335 tonic::Response<super::RiseCtlResumeVersionCheckpointResponse>,
3336 tonic::Status,
3337 >;
3338 async fn rise_ctl_get_checkpoint_version(
3339 &self,
3340 request: tonic::Request<super::RiseCtlGetCheckpointVersionRequest>,
3341 ) -> std::result::Result<
3342 tonic::Response<super::RiseCtlGetCheckpointVersionResponse>,
3343 tonic::Status,
3344 >;
3345 async fn rise_ctl_rebuild_table_stats(
3346 &self,
3347 request: tonic::Request<super::RiseCtlRebuildTableStatsRequest>,
3348 ) -> std::result::Result<
3349 tonic::Response<super::RiseCtlRebuildTableStatsResponse>,
3350 tonic::Status,
3351 >;
3352 async fn init_metadata_for_replay(
3353 &self,
3354 request: tonic::Request<super::InitMetadataForReplayRequest>,
3355 ) -> std::result::Result<
3356 tonic::Response<super::InitMetadataForReplayResponse>,
3357 tonic::Status,
3358 >;
3359 async fn pin_version(
3360 &self,
3361 request: tonic::Request<super::PinVersionRequest>,
3362 ) -> std::result::Result<
3363 tonic::Response<super::PinVersionResponse>,
3364 tonic::Status,
3365 >;
3366 async fn split_compaction_group(
3367 &self,
3368 request: tonic::Request<super::SplitCompactionGroupRequest>,
3369 ) -> std::result::Result<
3370 tonic::Response<super::SplitCompactionGroupResponse>,
3371 tonic::Status,
3372 >;
3373 async fn rise_ctl_list_compaction_status(
3374 &self,
3375 request: tonic::Request<super::RiseCtlListCompactionStatusRequest>,
3376 ) -> std::result::Result<
3377 tonic::Response<super::RiseCtlListCompactionStatusResponse>,
3378 tonic::Status,
3379 >;
3380 type SubscribeCompactionEventStream: tonic::codegen::tokio_stream::Stream<
3382 Item = std::result::Result<
3383 super::SubscribeCompactionEventResponse,
3384 tonic::Status,
3385 >,
3386 >
3387 + std::marker::Send
3388 + 'static;
3389 async fn subscribe_compaction_event(
3390 &self,
3391 request: tonic::Request<
3392 tonic::Streaming<super::SubscribeCompactionEventRequest>,
3393 >,
3394 ) -> std::result::Result<
3395 tonic::Response<Self::SubscribeCompactionEventStream>,
3396 tonic::Status,
3397 >;
3398 async fn report_compaction_task(
3399 &self,
3400 request: tonic::Request<super::ReportCompactionTaskRequest>,
3401 ) -> std::result::Result<
3402 tonic::Response<super::ReportCompactionTaskResponse>,
3403 tonic::Status,
3404 >;
3405 async fn list_branched_object(
3406 &self,
3407 request: tonic::Request<super::ListBranchedObjectRequest>,
3408 ) -> std::result::Result<
3409 tonic::Response<super::ListBranchedObjectResponse>,
3410 tonic::Status,
3411 >;
3412 async fn list_active_write_limit(
3413 &self,
3414 request: tonic::Request<super::ListActiveWriteLimitRequest>,
3415 ) -> std::result::Result<
3416 tonic::Response<super::ListActiveWriteLimitResponse>,
3417 tonic::Status,
3418 >;
3419 async fn list_hummock_meta_config(
3420 &self,
3421 request: tonic::Request<super::ListHummockMetaConfigRequest>,
3422 ) -> std::result::Result<
3423 tonic::Response<super::ListHummockMetaConfigResponse>,
3424 tonic::Status,
3425 >;
3426 async fn get_compaction_score(
3427 &self,
3428 request: tonic::Request<super::GetCompactionScoreRequest>,
3429 ) -> std::result::Result<
3430 tonic::Response<super::GetCompactionScoreResponse>,
3431 tonic::Status,
3432 >;
3433 async fn list_compact_task_assignment(
3434 &self,
3435 request: tonic::Request<super::ListCompactTaskAssignmentRequest>,
3436 ) -> std::result::Result<
3437 tonic::Response<super::ListCompactTaskAssignmentResponse>,
3438 tonic::Status,
3439 >;
3440 async fn list_compact_task_progress(
3441 &self,
3442 request: tonic::Request<super::ListCompactTaskProgressRequest>,
3443 ) -> std::result::Result<
3444 tonic::Response<super::ListCompactTaskProgressResponse>,
3445 tonic::Status,
3446 >;
3447 async fn cancel_compact_task(
3448 &self,
3449 request: tonic::Request<super::CancelCompactTaskRequest>,
3450 ) -> std::result::Result<
3451 tonic::Response<super::CancelCompactTaskResponse>,
3452 tonic::Status,
3453 >;
3454 async fn get_version_by_epoch(
3455 &self,
3456 request: tonic::Request<super::GetVersionByEpochRequest>,
3457 ) -> std::result::Result<
3458 tonic::Response<super::GetVersionByEpochResponse>,
3459 tonic::Status,
3460 >;
3461 async fn merge_compaction_group(
3462 &self,
3463 request: tonic::Request<super::MergeCompactionGroupRequest>,
3464 ) -> std::result::Result<
3465 tonic::Response<super::MergeCompactionGroupResponse>,
3466 tonic::Status,
3467 >;
3468 async fn get_table_change_logs(
3469 &self,
3470 request: tonic::Request<super::GetTableChangeLogsRequest>,
3471 ) -> std::result::Result<
3472 tonic::Response<super::GetTableChangeLogsResponse>,
3473 tonic::Status,
3474 >;
3475 type SubscribeIcebergCompactionEventStream: tonic::codegen::tokio_stream::Stream<
3477 Item = std::result::Result<
3478 super::super::iceberg_compaction::SubscribeIcebergCompactionEventResponse,
3479 tonic::Status,
3480 >,
3481 >
3482 + std::marker::Send
3483 + 'static;
3484 async fn subscribe_iceberg_compaction_event(
3486 &self,
3487 request: tonic::Request<
3488 tonic::Streaming<
3489 super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
3490 >,
3491 >,
3492 ) -> std::result::Result<
3493 tonic::Response<Self::SubscribeIcebergCompactionEventStream>,
3494 tonic::Status,
3495 >;
3496 }
3497 #[derive(Debug)]
3498 pub struct HummockManagerServiceServer<T> {
3499 inner: Arc<T>,
3500 accept_compression_encodings: EnabledCompressionEncodings,
3501 send_compression_encodings: EnabledCompressionEncodings,
3502 max_decoding_message_size: Option<usize>,
3503 max_encoding_message_size: Option<usize>,
3504 }
3505 impl<T> HummockManagerServiceServer<T> {
3506 pub fn new(inner: T) -> Self {
3507 Self::from_arc(Arc::new(inner))
3508 }
3509 pub fn from_arc(inner: Arc<T>) -> Self {
3510 Self {
3511 inner,
3512 accept_compression_encodings: Default::default(),
3513 send_compression_encodings: Default::default(),
3514 max_decoding_message_size: None,
3515 max_encoding_message_size: None,
3516 }
3517 }
3518 pub fn with_interceptor<F>(
3519 inner: T,
3520 interceptor: F,
3521 ) -> InterceptedService<Self, F>
3522 where
3523 F: tonic::service::Interceptor,
3524 {
3525 InterceptedService::new(Self::new(inner), interceptor)
3526 }
3527 #[must_use]
3529 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
3530 self.accept_compression_encodings.enable(encoding);
3531 self
3532 }
3533 #[must_use]
3535 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
3536 self.send_compression_encodings.enable(encoding);
3537 self
3538 }
3539 #[must_use]
3543 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
3544 self.max_decoding_message_size = Some(limit);
3545 self
3546 }
3547 #[must_use]
3551 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
3552 self.max_encoding_message_size = Some(limit);
3553 self
3554 }
3555 }
3556 impl<T, B> tonic::codegen::Service<http::Request<B>>
3557 for HummockManagerServiceServer<T>
3558 where
3559 T: HummockManagerService,
3560 B: Body + std::marker::Send + 'static,
3561 B::Error: Into<StdError> + std::marker::Send + 'static,
3562 {
3563 type Response = http::Response<tonic::body::Body>;
3564 type Error = std::convert::Infallible;
3565 type Future = BoxFuture<Self::Response, Self::Error>;
3566 fn poll_ready(
3567 &mut self,
3568 _cx: &mut Context<'_>,
3569 ) -> Poll<std::result::Result<(), Self::Error>> {
3570 Poll::Ready(Ok(()))
3571 }
3572 fn call(&mut self, req: http::Request<B>) -> Self::Future {
3573 match req.uri().path() {
3574 "/hummock.HummockManagerService/UnpinVersionBefore" => {
3575 #[allow(non_camel_case_types)]
3576 struct UnpinVersionBeforeSvc<T: HummockManagerService>(pub Arc<T>);
3577 impl<
3578 T: HummockManagerService,
3579 > tonic::server::UnaryService<super::UnpinVersionBeforeRequest>
3580 for UnpinVersionBeforeSvc<T> {
3581 type Response = super::UnpinVersionBeforeResponse;
3582 type Future = BoxFuture<
3583 tonic::Response<Self::Response>,
3584 tonic::Status,
3585 >;
3586 fn call(
3587 &mut self,
3588 request: tonic::Request<super::UnpinVersionBeforeRequest>,
3589 ) -> Self::Future {
3590 let inner = Arc::clone(&self.0);
3591 let fut = async move {
3592 <T as HummockManagerService>::unpin_version_before(
3593 &inner,
3594 request,
3595 )
3596 .await
3597 };
3598 Box::pin(fut)
3599 }
3600 }
3601 let accept_compression_encodings = self.accept_compression_encodings;
3602 let send_compression_encodings = self.send_compression_encodings;
3603 let max_decoding_message_size = self.max_decoding_message_size;
3604 let max_encoding_message_size = self.max_encoding_message_size;
3605 let inner = self.inner.clone();
3606 let fut = async move {
3607 let method = UnpinVersionBeforeSvc(inner);
3608 let codec = tonic_prost::ProstCodec::default();
3609 let mut grpc = tonic::server::Grpc::new(codec)
3610 .apply_compression_config(
3611 accept_compression_encodings,
3612 send_compression_encodings,
3613 )
3614 .apply_max_message_size_config(
3615 max_decoding_message_size,
3616 max_encoding_message_size,
3617 );
3618 let res = grpc.unary(method, req).await;
3619 Ok(res)
3620 };
3621 Box::pin(fut)
3622 }
3623 "/hummock.HummockManagerService/GetCurrentVersion" => {
3624 #[allow(non_camel_case_types)]
3625 struct GetCurrentVersionSvc<T: HummockManagerService>(pub Arc<T>);
3626 impl<
3627 T: HummockManagerService,
3628 > tonic::server::UnaryService<super::GetCurrentVersionRequest>
3629 for GetCurrentVersionSvc<T> {
3630 type Response = super::GetCurrentVersionResponse;
3631 type Future = BoxFuture<
3632 tonic::Response<Self::Response>,
3633 tonic::Status,
3634 >;
3635 fn call(
3636 &mut self,
3637 request: tonic::Request<super::GetCurrentVersionRequest>,
3638 ) -> Self::Future {
3639 let inner = Arc::clone(&self.0);
3640 let fut = async move {
3641 <T as HummockManagerService>::get_current_version(
3642 &inner,
3643 request,
3644 )
3645 .await
3646 };
3647 Box::pin(fut)
3648 }
3649 }
3650 let accept_compression_encodings = self.accept_compression_encodings;
3651 let send_compression_encodings = self.send_compression_encodings;
3652 let max_decoding_message_size = self.max_decoding_message_size;
3653 let max_encoding_message_size = self.max_encoding_message_size;
3654 let inner = self.inner.clone();
3655 let fut = async move {
3656 let method = GetCurrentVersionSvc(inner);
3657 let codec = tonic_prost::ProstCodec::default();
3658 let mut grpc = tonic::server::Grpc::new(codec)
3659 .apply_compression_config(
3660 accept_compression_encodings,
3661 send_compression_encodings,
3662 )
3663 .apply_max_message_size_config(
3664 max_decoding_message_size,
3665 max_encoding_message_size,
3666 );
3667 let res = grpc.unary(method, req).await;
3668 Ok(res)
3669 };
3670 Box::pin(fut)
3671 }
3672 "/hummock.HummockManagerService/ListVersionDeltas" => {
3673 #[allow(non_camel_case_types)]
3674 struct ListVersionDeltasSvc<T: HummockManagerService>(pub Arc<T>);
3675 impl<
3676 T: HummockManagerService,
3677 > tonic::server::UnaryService<super::ListVersionDeltasRequest>
3678 for ListVersionDeltasSvc<T> {
3679 type Response = super::ListVersionDeltasResponse;
3680 type Future = BoxFuture<
3681 tonic::Response<Self::Response>,
3682 tonic::Status,
3683 >;
3684 fn call(
3685 &mut self,
3686 request: tonic::Request<super::ListVersionDeltasRequest>,
3687 ) -> Self::Future {
3688 let inner = Arc::clone(&self.0);
3689 let fut = async move {
3690 <T as HummockManagerService>::list_version_deltas(
3691 &inner,
3692 request,
3693 )
3694 .await
3695 };
3696 Box::pin(fut)
3697 }
3698 }
3699 let accept_compression_encodings = self.accept_compression_encodings;
3700 let send_compression_encodings = self.send_compression_encodings;
3701 let max_decoding_message_size = self.max_decoding_message_size;
3702 let max_encoding_message_size = self.max_encoding_message_size;
3703 let inner = self.inner.clone();
3704 let fut = async move {
3705 let method = ListVersionDeltasSvc(inner);
3706 let codec = tonic_prost::ProstCodec::default();
3707 let mut grpc = tonic::server::Grpc::new(codec)
3708 .apply_compression_config(
3709 accept_compression_encodings,
3710 send_compression_encodings,
3711 )
3712 .apply_max_message_size_config(
3713 max_decoding_message_size,
3714 max_encoding_message_size,
3715 );
3716 let res = grpc.unary(method, req).await;
3717 Ok(res)
3718 };
3719 Box::pin(fut)
3720 }
3721 "/hummock.HummockManagerService/ReplayVersionDelta" => {
3722 #[allow(non_camel_case_types)]
3723 struct ReplayVersionDeltaSvc<T: HummockManagerService>(pub Arc<T>);
3724 impl<
3725 T: HummockManagerService,
3726 > tonic::server::UnaryService<super::ReplayVersionDeltaRequest>
3727 for ReplayVersionDeltaSvc<T> {
3728 type Response = super::ReplayVersionDeltaResponse;
3729 type Future = BoxFuture<
3730 tonic::Response<Self::Response>,
3731 tonic::Status,
3732 >;
3733 fn call(
3734 &mut self,
3735 request: tonic::Request<super::ReplayVersionDeltaRequest>,
3736 ) -> Self::Future {
3737 let inner = Arc::clone(&self.0);
3738 let fut = async move {
3739 <T as HummockManagerService>::replay_version_delta(
3740 &inner,
3741 request,
3742 )
3743 .await
3744 };
3745 Box::pin(fut)
3746 }
3747 }
3748 let accept_compression_encodings = self.accept_compression_encodings;
3749 let send_compression_encodings = self.send_compression_encodings;
3750 let max_decoding_message_size = self.max_decoding_message_size;
3751 let max_encoding_message_size = self.max_encoding_message_size;
3752 let inner = self.inner.clone();
3753 let fut = async move {
3754 let method = ReplayVersionDeltaSvc(inner);
3755 let codec = tonic_prost::ProstCodec::default();
3756 let mut grpc = tonic::server::Grpc::new(codec)
3757 .apply_compression_config(
3758 accept_compression_encodings,
3759 send_compression_encodings,
3760 )
3761 .apply_max_message_size_config(
3762 max_decoding_message_size,
3763 max_encoding_message_size,
3764 );
3765 let res = grpc.unary(method, req).await;
3766 Ok(res)
3767 };
3768 Box::pin(fut)
3769 }
3770 "/hummock.HummockManagerService/GetAssignedCompactTaskNum" => {
3771 #[allow(non_camel_case_types)]
3772 struct GetAssignedCompactTaskNumSvc<T: HummockManagerService>(
3773 pub Arc<T>,
3774 );
3775 impl<
3776 T: HummockManagerService,
3777 > tonic::server::UnaryService<
3778 super::GetAssignedCompactTaskNumRequest,
3779 > for GetAssignedCompactTaskNumSvc<T> {
3780 type Response = super::GetAssignedCompactTaskNumResponse;
3781 type Future = BoxFuture<
3782 tonic::Response<Self::Response>,
3783 tonic::Status,
3784 >;
3785 fn call(
3786 &mut self,
3787 request: tonic::Request<
3788 super::GetAssignedCompactTaskNumRequest,
3789 >,
3790 ) -> Self::Future {
3791 let inner = Arc::clone(&self.0);
3792 let fut = async move {
3793 <T as HummockManagerService>::get_assigned_compact_task_num(
3794 &inner,
3795 request,
3796 )
3797 .await
3798 };
3799 Box::pin(fut)
3800 }
3801 }
3802 let accept_compression_encodings = self.accept_compression_encodings;
3803 let send_compression_encodings = self.send_compression_encodings;
3804 let max_decoding_message_size = self.max_decoding_message_size;
3805 let max_encoding_message_size = self.max_encoding_message_size;
3806 let inner = self.inner.clone();
3807 let fut = async move {
3808 let method = GetAssignedCompactTaskNumSvc(inner);
3809 let codec = tonic_prost::ProstCodec::default();
3810 let mut grpc = tonic::server::Grpc::new(codec)
3811 .apply_compression_config(
3812 accept_compression_encodings,
3813 send_compression_encodings,
3814 )
3815 .apply_max_message_size_config(
3816 max_decoding_message_size,
3817 max_encoding_message_size,
3818 );
3819 let res = grpc.unary(method, req).await;
3820 Ok(res)
3821 };
3822 Box::pin(fut)
3823 }
3824 "/hummock.HummockManagerService/TriggerCompactionDeterministic" => {
3825 #[allow(non_camel_case_types)]
3826 struct TriggerCompactionDeterministicSvc<T: HummockManagerService>(
3827 pub Arc<T>,
3828 );
3829 impl<
3830 T: HummockManagerService,
3831 > tonic::server::UnaryService<
3832 super::TriggerCompactionDeterministicRequest,
3833 > for TriggerCompactionDeterministicSvc<T> {
3834 type Response = super::TriggerCompactionDeterministicResponse;
3835 type Future = BoxFuture<
3836 tonic::Response<Self::Response>,
3837 tonic::Status,
3838 >;
3839 fn call(
3840 &mut self,
3841 request: tonic::Request<
3842 super::TriggerCompactionDeterministicRequest,
3843 >,
3844 ) -> Self::Future {
3845 let inner = Arc::clone(&self.0);
3846 let fut = async move {
3847 <T as HummockManagerService>::trigger_compaction_deterministic(
3848 &inner,
3849 request,
3850 )
3851 .await
3852 };
3853 Box::pin(fut)
3854 }
3855 }
3856 let accept_compression_encodings = self.accept_compression_encodings;
3857 let send_compression_encodings = self.send_compression_encodings;
3858 let max_decoding_message_size = self.max_decoding_message_size;
3859 let max_encoding_message_size = self.max_encoding_message_size;
3860 let inner = self.inner.clone();
3861 let fut = async move {
3862 let method = TriggerCompactionDeterministicSvc(inner);
3863 let codec = tonic_prost::ProstCodec::default();
3864 let mut grpc = tonic::server::Grpc::new(codec)
3865 .apply_compression_config(
3866 accept_compression_encodings,
3867 send_compression_encodings,
3868 )
3869 .apply_max_message_size_config(
3870 max_decoding_message_size,
3871 max_encoding_message_size,
3872 );
3873 let res = grpc.unary(method, req).await;
3874 Ok(res)
3875 };
3876 Box::pin(fut)
3877 }
3878 "/hummock.HummockManagerService/DisableCommitEpoch" => {
3879 #[allow(non_camel_case_types)]
3880 struct DisableCommitEpochSvc<T: HummockManagerService>(pub Arc<T>);
3881 impl<
3882 T: HummockManagerService,
3883 > tonic::server::UnaryService<super::DisableCommitEpochRequest>
3884 for DisableCommitEpochSvc<T> {
3885 type Response = super::DisableCommitEpochResponse;
3886 type Future = BoxFuture<
3887 tonic::Response<Self::Response>,
3888 tonic::Status,
3889 >;
3890 fn call(
3891 &mut self,
3892 request: tonic::Request<super::DisableCommitEpochRequest>,
3893 ) -> Self::Future {
3894 let inner = Arc::clone(&self.0);
3895 let fut = async move {
3896 <T as HummockManagerService>::disable_commit_epoch(
3897 &inner,
3898 request,
3899 )
3900 .await
3901 };
3902 Box::pin(fut)
3903 }
3904 }
3905 let accept_compression_encodings = self.accept_compression_encodings;
3906 let send_compression_encodings = self.send_compression_encodings;
3907 let max_decoding_message_size = self.max_decoding_message_size;
3908 let max_encoding_message_size = self.max_encoding_message_size;
3909 let inner = self.inner.clone();
3910 let fut = async move {
3911 let method = DisableCommitEpochSvc(inner);
3912 let codec = tonic_prost::ProstCodec::default();
3913 let mut grpc = tonic::server::Grpc::new(codec)
3914 .apply_compression_config(
3915 accept_compression_encodings,
3916 send_compression_encodings,
3917 )
3918 .apply_max_message_size_config(
3919 max_decoding_message_size,
3920 max_encoding_message_size,
3921 );
3922 let res = grpc.unary(method, req).await;
3923 Ok(res)
3924 };
3925 Box::pin(fut)
3926 }
3927 "/hummock.HummockManagerService/GetNewObjectIds" => {
3928 #[allow(non_camel_case_types)]
3929 struct GetNewObjectIdsSvc<T: HummockManagerService>(pub Arc<T>);
3930 impl<
3931 T: HummockManagerService,
3932 > tonic::server::UnaryService<super::GetNewObjectIdsRequest>
3933 for GetNewObjectIdsSvc<T> {
3934 type Response = super::GetNewObjectIdsResponse;
3935 type Future = BoxFuture<
3936 tonic::Response<Self::Response>,
3937 tonic::Status,
3938 >;
3939 fn call(
3940 &mut self,
3941 request: tonic::Request<super::GetNewObjectIdsRequest>,
3942 ) -> Self::Future {
3943 let inner = Arc::clone(&self.0);
3944 let fut = async move {
3945 <T as HummockManagerService>::get_new_object_ids(
3946 &inner,
3947 request,
3948 )
3949 .await
3950 };
3951 Box::pin(fut)
3952 }
3953 }
3954 let accept_compression_encodings = self.accept_compression_encodings;
3955 let send_compression_encodings = self.send_compression_encodings;
3956 let max_decoding_message_size = self.max_decoding_message_size;
3957 let max_encoding_message_size = self.max_encoding_message_size;
3958 let inner = self.inner.clone();
3959 let fut = async move {
3960 let method = GetNewObjectIdsSvc(inner);
3961 let codec = tonic_prost::ProstCodec::default();
3962 let mut grpc = tonic::server::Grpc::new(codec)
3963 .apply_compression_config(
3964 accept_compression_encodings,
3965 send_compression_encodings,
3966 )
3967 .apply_max_message_size_config(
3968 max_decoding_message_size,
3969 max_encoding_message_size,
3970 );
3971 let res = grpc.unary(method, req).await;
3972 Ok(res)
3973 };
3974 Box::pin(fut)
3975 }
3976 "/hummock.HummockManagerService/TriggerManualCompaction" => {
3977 #[allow(non_camel_case_types)]
3978 struct TriggerManualCompactionSvc<T: HummockManagerService>(
3979 pub Arc<T>,
3980 );
3981 impl<
3982 T: HummockManagerService,
3983 > tonic::server::UnaryService<super::TriggerManualCompactionRequest>
3984 for TriggerManualCompactionSvc<T> {
3985 type Response = super::TriggerManualCompactionResponse;
3986 type Future = BoxFuture<
3987 tonic::Response<Self::Response>,
3988 tonic::Status,
3989 >;
3990 fn call(
3991 &mut self,
3992 request: tonic::Request<
3993 super::TriggerManualCompactionRequest,
3994 >,
3995 ) -> Self::Future {
3996 let inner = Arc::clone(&self.0);
3997 let fut = async move {
3998 <T as HummockManagerService>::trigger_manual_compaction(
3999 &inner,
4000 request,
4001 )
4002 .await
4003 };
4004 Box::pin(fut)
4005 }
4006 }
4007 let accept_compression_encodings = self.accept_compression_encodings;
4008 let send_compression_encodings = self.send_compression_encodings;
4009 let max_decoding_message_size = self.max_decoding_message_size;
4010 let max_encoding_message_size = self.max_encoding_message_size;
4011 let inner = self.inner.clone();
4012 let fut = async move {
4013 let method = TriggerManualCompactionSvc(inner);
4014 let codec = tonic_prost::ProstCodec::default();
4015 let mut grpc = tonic::server::Grpc::new(codec)
4016 .apply_compression_config(
4017 accept_compression_encodings,
4018 send_compression_encodings,
4019 )
4020 .apply_max_message_size_config(
4021 max_decoding_message_size,
4022 max_encoding_message_size,
4023 );
4024 let res = grpc.unary(method, req).await;
4025 Ok(res)
4026 };
4027 Box::pin(fut)
4028 }
4029 "/hummock.HummockManagerService/TriggerFullGC" => {
4030 #[allow(non_camel_case_types)]
4031 struct TriggerFullGCSvc<T: HummockManagerService>(pub Arc<T>);
4032 impl<
4033 T: HummockManagerService,
4034 > tonic::server::UnaryService<super::TriggerFullGcRequest>
4035 for TriggerFullGCSvc<T> {
4036 type Response = super::TriggerFullGcResponse;
4037 type Future = BoxFuture<
4038 tonic::Response<Self::Response>,
4039 tonic::Status,
4040 >;
4041 fn call(
4042 &mut self,
4043 request: tonic::Request<super::TriggerFullGcRequest>,
4044 ) -> Self::Future {
4045 let inner = Arc::clone(&self.0);
4046 let fut = async move {
4047 <T as HummockManagerService>::trigger_full_gc(
4048 &inner,
4049 request,
4050 )
4051 .await
4052 };
4053 Box::pin(fut)
4054 }
4055 }
4056 let accept_compression_encodings = self.accept_compression_encodings;
4057 let send_compression_encodings = self.send_compression_encodings;
4058 let max_decoding_message_size = self.max_decoding_message_size;
4059 let max_encoding_message_size = self.max_encoding_message_size;
4060 let inner = self.inner.clone();
4061 let fut = async move {
4062 let method = TriggerFullGCSvc(inner);
4063 let codec = tonic_prost::ProstCodec::default();
4064 let mut grpc = tonic::server::Grpc::new(codec)
4065 .apply_compression_config(
4066 accept_compression_encodings,
4067 send_compression_encodings,
4068 )
4069 .apply_max_message_size_config(
4070 max_decoding_message_size,
4071 max_encoding_message_size,
4072 );
4073 let res = grpc.unary(method, req).await;
4074 Ok(res)
4075 };
4076 Box::pin(fut)
4077 }
4078 "/hummock.HummockManagerService/RiseCtlGetPinnedVersionsSummary" => {
4079 #[allow(non_camel_case_types)]
4080 struct RiseCtlGetPinnedVersionsSummarySvc<T: HummockManagerService>(
4081 pub Arc<T>,
4082 );
4083 impl<
4084 T: HummockManagerService,
4085 > tonic::server::UnaryService<
4086 super::RiseCtlGetPinnedVersionsSummaryRequest,
4087 > for RiseCtlGetPinnedVersionsSummarySvc<T> {
4088 type Response = super::RiseCtlGetPinnedVersionsSummaryResponse;
4089 type Future = BoxFuture<
4090 tonic::Response<Self::Response>,
4091 tonic::Status,
4092 >;
4093 fn call(
4094 &mut self,
4095 request: tonic::Request<
4096 super::RiseCtlGetPinnedVersionsSummaryRequest,
4097 >,
4098 ) -> Self::Future {
4099 let inner = Arc::clone(&self.0);
4100 let fut = async move {
4101 <T as HummockManagerService>::rise_ctl_get_pinned_versions_summary(
4102 &inner,
4103 request,
4104 )
4105 .await
4106 };
4107 Box::pin(fut)
4108 }
4109 }
4110 let accept_compression_encodings = self.accept_compression_encodings;
4111 let send_compression_encodings = self.send_compression_encodings;
4112 let max_decoding_message_size = self.max_decoding_message_size;
4113 let max_encoding_message_size = self.max_encoding_message_size;
4114 let inner = self.inner.clone();
4115 let fut = async move {
4116 let method = RiseCtlGetPinnedVersionsSummarySvc(inner);
4117 let codec = tonic_prost::ProstCodec::default();
4118 let mut grpc = tonic::server::Grpc::new(codec)
4119 .apply_compression_config(
4120 accept_compression_encodings,
4121 send_compression_encodings,
4122 )
4123 .apply_max_message_size_config(
4124 max_decoding_message_size,
4125 max_encoding_message_size,
4126 );
4127 let res = grpc.unary(method, req).await;
4128 Ok(res)
4129 };
4130 Box::pin(fut)
4131 }
4132 "/hummock.HummockManagerService/RiseCtlListCompactionGroup" => {
4133 #[allow(non_camel_case_types)]
4134 struct RiseCtlListCompactionGroupSvc<T: HummockManagerService>(
4135 pub Arc<T>,
4136 );
4137 impl<
4138 T: HummockManagerService,
4139 > tonic::server::UnaryService<
4140 super::RiseCtlListCompactionGroupRequest,
4141 > for RiseCtlListCompactionGroupSvc<T> {
4142 type Response = super::RiseCtlListCompactionGroupResponse;
4143 type Future = BoxFuture<
4144 tonic::Response<Self::Response>,
4145 tonic::Status,
4146 >;
4147 fn call(
4148 &mut self,
4149 request: tonic::Request<
4150 super::RiseCtlListCompactionGroupRequest,
4151 >,
4152 ) -> Self::Future {
4153 let inner = Arc::clone(&self.0);
4154 let fut = async move {
4155 <T as HummockManagerService>::rise_ctl_list_compaction_group(
4156 &inner,
4157 request,
4158 )
4159 .await
4160 };
4161 Box::pin(fut)
4162 }
4163 }
4164 let accept_compression_encodings = self.accept_compression_encodings;
4165 let send_compression_encodings = self.send_compression_encodings;
4166 let max_decoding_message_size = self.max_decoding_message_size;
4167 let max_encoding_message_size = self.max_encoding_message_size;
4168 let inner = self.inner.clone();
4169 let fut = async move {
4170 let method = RiseCtlListCompactionGroupSvc(inner);
4171 let codec = tonic_prost::ProstCodec::default();
4172 let mut grpc = tonic::server::Grpc::new(codec)
4173 .apply_compression_config(
4174 accept_compression_encodings,
4175 send_compression_encodings,
4176 )
4177 .apply_max_message_size_config(
4178 max_decoding_message_size,
4179 max_encoding_message_size,
4180 );
4181 let res = grpc.unary(method, req).await;
4182 Ok(res)
4183 };
4184 Box::pin(fut)
4185 }
4186 "/hummock.HummockManagerService/RiseCtlUpdateCompactionConfig" => {
4187 #[allow(non_camel_case_types)]
4188 struct RiseCtlUpdateCompactionConfigSvc<T: HummockManagerService>(
4189 pub Arc<T>,
4190 );
4191 impl<
4192 T: HummockManagerService,
4193 > tonic::server::UnaryService<
4194 super::RiseCtlUpdateCompactionConfigRequest,
4195 > for RiseCtlUpdateCompactionConfigSvc<T> {
4196 type Response = super::RiseCtlUpdateCompactionConfigResponse;
4197 type Future = BoxFuture<
4198 tonic::Response<Self::Response>,
4199 tonic::Status,
4200 >;
4201 fn call(
4202 &mut self,
4203 request: tonic::Request<
4204 super::RiseCtlUpdateCompactionConfigRequest,
4205 >,
4206 ) -> Self::Future {
4207 let inner = Arc::clone(&self.0);
4208 let fut = async move {
4209 <T as HummockManagerService>::rise_ctl_update_compaction_config(
4210 &inner,
4211 request,
4212 )
4213 .await
4214 };
4215 Box::pin(fut)
4216 }
4217 }
4218 let accept_compression_encodings = self.accept_compression_encodings;
4219 let send_compression_encodings = self.send_compression_encodings;
4220 let max_decoding_message_size = self.max_decoding_message_size;
4221 let max_encoding_message_size = self.max_encoding_message_size;
4222 let inner = self.inner.clone();
4223 let fut = async move {
4224 let method = RiseCtlUpdateCompactionConfigSvc(inner);
4225 let codec = tonic_prost::ProstCodec::default();
4226 let mut grpc = tonic::server::Grpc::new(codec)
4227 .apply_compression_config(
4228 accept_compression_encodings,
4229 send_compression_encodings,
4230 )
4231 .apply_max_message_size_config(
4232 max_decoding_message_size,
4233 max_encoding_message_size,
4234 );
4235 let res = grpc.unary(method, req).await;
4236 Ok(res)
4237 };
4238 Box::pin(fut)
4239 }
4240 "/hummock.HummockManagerService/RiseCtlPauseVersionCheckpoint" => {
4241 #[allow(non_camel_case_types)]
4242 struct RiseCtlPauseVersionCheckpointSvc<T: HummockManagerService>(
4243 pub Arc<T>,
4244 );
4245 impl<
4246 T: HummockManagerService,
4247 > tonic::server::UnaryService<
4248 super::RiseCtlPauseVersionCheckpointRequest,
4249 > for RiseCtlPauseVersionCheckpointSvc<T> {
4250 type Response = super::RiseCtlPauseVersionCheckpointResponse;
4251 type Future = BoxFuture<
4252 tonic::Response<Self::Response>,
4253 tonic::Status,
4254 >;
4255 fn call(
4256 &mut self,
4257 request: tonic::Request<
4258 super::RiseCtlPauseVersionCheckpointRequest,
4259 >,
4260 ) -> Self::Future {
4261 let inner = Arc::clone(&self.0);
4262 let fut = async move {
4263 <T as HummockManagerService>::rise_ctl_pause_version_checkpoint(
4264 &inner,
4265 request,
4266 )
4267 .await
4268 };
4269 Box::pin(fut)
4270 }
4271 }
4272 let accept_compression_encodings = self.accept_compression_encodings;
4273 let send_compression_encodings = self.send_compression_encodings;
4274 let max_decoding_message_size = self.max_decoding_message_size;
4275 let max_encoding_message_size = self.max_encoding_message_size;
4276 let inner = self.inner.clone();
4277 let fut = async move {
4278 let method = RiseCtlPauseVersionCheckpointSvc(inner);
4279 let codec = tonic_prost::ProstCodec::default();
4280 let mut grpc = tonic::server::Grpc::new(codec)
4281 .apply_compression_config(
4282 accept_compression_encodings,
4283 send_compression_encodings,
4284 )
4285 .apply_max_message_size_config(
4286 max_decoding_message_size,
4287 max_encoding_message_size,
4288 );
4289 let res = grpc.unary(method, req).await;
4290 Ok(res)
4291 };
4292 Box::pin(fut)
4293 }
4294 "/hummock.HummockManagerService/RiseCtlResumeVersionCheckpoint" => {
4295 #[allow(non_camel_case_types)]
4296 struct RiseCtlResumeVersionCheckpointSvc<T: HummockManagerService>(
4297 pub Arc<T>,
4298 );
4299 impl<
4300 T: HummockManagerService,
4301 > tonic::server::UnaryService<
4302 super::RiseCtlResumeVersionCheckpointRequest,
4303 > for RiseCtlResumeVersionCheckpointSvc<T> {
4304 type Response = super::RiseCtlResumeVersionCheckpointResponse;
4305 type Future = BoxFuture<
4306 tonic::Response<Self::Response>,
4307 tonic::Status,
4308 >;
4309 fn call(
4310 &mut self,
4311 request: tonic::Request<
4312 super::RiseCtlResumeVersionCheckpointRequest,
4313 >,
4314 ) -> Self::Future {
4315 let inner = Arc::clone(&self.0);
4316 let fut = async move {
4317 <T as HummockManagerService>::rise_ctl_resume_version_checkpoint(
4318 &inner,
4319 request,
4320 )
4321 .await
4322 };
4323 Box::pin(fut)
4324 }
4325 }
4326 let accept_compression_encodings = self.accept_compression_encodings;
4327 let send_compression_encodings = self.send_compression_encodings;
4328 let max_decoding_message_size = self.max_decoding_message_size;
4329 let max_encoding_message_size = self.max_encoding_message_size;
4330 let inner = self.inner.clone();
4331 let fut = async move {
4332 let method = RiseCtlResumeVersionCheckpointSvc(inner);
4333 let codec = tonic_prost::ProstCodec::default();
4334 let mut grpc = tonic::server::Grpc::new(codec)
4335 .apply_compression_config(
4336 accept_compression_encodings,
4337 send_compression_encodings,
4338 )
4339 .apply_max_message_size_config(
4340 max_decoding_message_size,
4341 max_encoding_message_size,
4342 );
4343 let res = grpc.unary(method, req).await;
4344 Ok(res)
4345 };
4346 Box::pin(fut)
4347 }
4348 "/hummock.HummockManagerService/RiseCtlGetCheckpointVersion" => {
4349 #[allow(non_camel_case_types)]
4350 struct RiseCtlGetCheckpointVersionSvc<T: HummockManagerService>(
4351 pub Arc<T>,
4352 );
4353 impl<
4354 T: HummockManagerService,
4355 > tonic::server::UnaryService<
4356 super::RiseCtlGetCheckpointVersionRequest,
4357 > for RiseCtlGetCheckpointVersionSvc<T> {
4358 type Response = super::RiseCtlGetCheckpointVersionResponse;
4359 type Future = BoxFuture<
4360 tonic::Response<Self::Response>,
4361 tonic::Status,
4362 >;
4363 fn call(
4364 &mut self,
4365 request: tonic::Request<
4366 super::RiseCtlGetCheckpointVersionRequest,
4367 >,
4368 ) -> Self::Future {
4369 let inner = Arc::clone(&self.0);
4370 let fut = async move {
4371 <T as HummockManagerService>::rise_ctl_get_checkpoint_version(
4372 &inner,
4373 request,
4374 )
4375 .await
4376 };
4377 Box::pin(fut)
4378 }
4379 }
4380 let accept_compression_encodings = self.accept_compression_encodings;
4381 let send_compression_encodings = self.send_compression_encodings;
4382 let max_decoding_message_size = self.max_decoding_message_size;
4383 let max_encoding_message_size = self.max_encoding_message_size;
4384 let inner = self.inner.clone();
4385 let fut = async move {
4386 let method = RiseCtlGetCheckpointVersionSvc(inner);
4387 let codec = tonic_prost::ProstCodec::default();
4388 let mut grpc = tonic::server::Grpc::new(codec)
4389 .apply_compression_config(
4390 accept_compression_encodings,
4391 send_compression_encodings,
4392 )
4393 .apply_max_message_size_config(
4394 max_decoding_message_size,
4395 max_encoding_message_size,
4396 );
4397 let res = grpc.unary(method, req).await;
4398 Ok(res)
4399 };
4400 Box::pin(fut)
4401 }
4402 "/hummock.HummockManagerService/RiseCtlRebuildTableStats" => {
4403 #[allow(non_camel_case_types)]
4404 struct RiseCtlRebuildTableStatsSvc<T: HummockManagerService>(
4405 pub Arc<T>,
4406 );
4407 impl<
4408 T: HummockManagerService,
4409 > tonic::server::UnaryService<super::RiseCtlRebuildTableStatsRequest>
4410 for RiseCtlRebuildTableStatsSvc<T> {
4411 type Response = super::RiseCtlRebuildTableStatsResponse;
4412 type Future = BoxFuture<
4413 tonic::Response<Self::Response>,
4414 tonic::Status,
4415 >;
4416 fn call(
4417 &mut self,
4418 request: tonic::Request<
4419 super::RiseCtlRebuildTableStatsRequest,
4420 >,
4421 ) -> Self::Future {
4422 let inner = Arc::clone(&self.0);
4423 let fut = async move {
4424 <T as HummockManagerService>::rise_ctl_rebuild_table_stats(
4425 &inner,
4426 request,
4427 )
4428 .await
4429 };
4430 Box::pin(fut)
4431 }
4432 }
4433 let accept_compression_encodings = self.accept_compression_encodings;
4434 let send_compression_encodings = self.send_compression_encodings;
4435 let max_decoding_message_size = self.max_decoding_message_size;
4436 let max_encoding_message_size = self.max_encoding_message_size;
4437 let inner = self.inner.clone();
4438 let fut = async move {
4439 let method = RiseCtlRebuildTableStatsSvc(inner);
4440 let codec = tonic_prost::ProstCodec::default();
4441 let mut grpc = tonic::server::Grpc::new(codec)
4442 .apply_compression_config(
4443 accept_compression_encodings,
4444 send_compression_encodings,
4445 )
4446 .apply_max_message_size_config(
4447 max_decoding_message_size,
4448 max_encoding_message_size,
4449 );
4450 let res = grpc.unary(method, req).await;
4451 Ok(res)
4452 };
4453 Box::pin(fut)
4454 }
4455 "/hummock.HummockManagerService/InitMetadataForReplay" => {
4456 #[allow(non_camel_case_types)]
4457 struct InitMetadataForReplaySvc<T: HummockManagerService>(
4458 pub Arc<T>,
4459 );
4460 impl<
4461 T: HummockManagerService,
4462 > tonic::server::UnaryService<super::InitMetadataForReplayRequest>
4463 for InitMetadataForReplaySvc<T> {
4464 type Response = super::InitMetadataForReplayResponse;
4465 type Future = BoxFuture<
4466 tonic::Response<Self::Response>,
4467 tonic::Status,
4468 >;
4469 fn call(
4470 &mut self,
4471 request: tonic::Request<super::InitMetadataForReplayRequest>,
4472 ) -> Self::Future {
4473 let inner = Arc::clone(&self.0);
4474 let fut = async move {
4475 <T as HummockManagerService>::init_metadata_for_replay(
4476 &inner,
4477 request,
4478 )
4479 .await
4480 };
4481 Box::pin(fut)
4482 }
4483 }
4484 let accept_compression_encodings = self.accept_compression_encodings;
4485 let send_compression_encodings = self.send_compression_encodings;
4486 let max_decoding_message_size = self.max_decoding_message_size;
4487 let max_encoding_message_size = self.max_encoding_message_size;
4488 let inner = self.inner.clone();
4489 let fut = async move {
4490 let method = InitMetadataForReplaySvc(inner);
4491 let codec = tonic_prost::ProstCodec::default();
4492 let mut grpc = tonic::server::Grpc::new(codec)
4493 .apply_compression_config(
4494 accept_compression_encodings,
4495 send_compression_encodings,
4496 )
4497 .apply_max_message_size_config(
4498 max_decoding_message_size,
4499 max_encoding_message_size,
4500 );
4501 let res = grpc.unary(method, req).await;
4502 Ok(res)
4503 };
4504 Box::pin(fut)
4505 }
4506 "/hummock.HummockManagerService/PinVersion" => {
4507 #[allow(non_camel_case_types)]
4508 struct PinVersionSvc<T: HummockManagerService>(pub Arc<T>);
4509 impl<
4510 T: HummockManagerService,
4511 > tonic::server::UnaryService<super::PinVersionRequest>
4512 for PinVersionSvc<T> {
4513 type Response = super::PinVersionResponse;
4514 type Future = BoxFuture<
4515 tonic::Response<Self::Response>,
4516 tonic::Status,
4517 >;
4518 fn call(
4519 &mut self,
4520 request: tonic::Request<super::PinVersionRequest>,
4521 ) -> Self::Future {
4522 let inner = Arc::clone(&self.0);
4523 let fut = async move {
4524 <T as HummockManagerService>::pin_version(&inner, request)
4525 .await
4526 };
4527 Box::pin(fut)
4528 }
4529 }
4530 let accept_compression_encodings = self.accept_compression_encodings;
4531 let send_compression_encodings = self.send_compression_encodings;
4532 let max_decoding_message_size = self.max_decoding_message_size;
4533 let max_encoding_message_size = self.max_encoding_message_size;
4534 let inner = self.inner.clone();
4535 let fut = async move {
4536 let method = PinVersionSvc(inner);
4537 let codec = tonic_prost::ProstCodec::default();
4538 let mut grpc = tonic::server::Grpc::new(codec)
4539 .apply_compression_config(
4540 accept_compression_encodings,
4541 send_compression_encodings,
4542 )
4543 .apply_max_message_size_config(
4544 max_decoding_message_size,
4545 max_encoding_message_size,
4546 );
4547 let res = grpc.unary(method, req).await;
4548 Ok(res)
4549 };
4550 Box::pin(fut)
4551 }
4552 "/hummock.HummockManagerService/SplitCompactionGroup" => {
4553 #[allow(non_camel_case_types)]
4554 struct SplitCompactionGroupSvc<T: HummockManagerService>(pub Arc<T>);
4555 impl<
4556 T: HummockManagerService,
4557 > tonic::server::UnaryService<super::SplitCompactionGroupRequest>
4558 for SplitCompactionGroupSvc<T> {
4559 type Response = super::SplitCompactionGroupResponse;
4560 type Future = BoxFuture<
4561 tonic::Response<Self::Response>,
4562 tonic::Status,
4563 >;
4564 fn call(
4565 &mut self,
4566 request: tonic::Request<super::SplitCompactionGroupRequest>,
4567 ) -> Self::Future {
4568 let inner = Arc::clone(&self.0);
4569 let fut = async move {
4570 <T as HummockManagerService>::split_compaction_group(
4571 &inner,
4572 request,
4573 )
4574 .await
4575 };
4576 Box::pin(fut)
4577 }
4578 }
4579 let accept_compression_encodings = self.accept_compression_encodings;
4580 let send_compression_encodings = self.send_compression_encodings;
4581 let max_decoding_message_size = self.max_decoding_message_size;
4582 let max_encoding_message_size = self.max_encoding_message_size;
4583 let inner = self.inner.clone();
4584 let fut = async move {
4585 let method = SplitCompactionGroupSvc(inner);
4586 let codec = tonic_prost::ProstCodec::default();
4587 let mut grpc = tonic::server::Grpc::new(codec)
4588 .apply_compression_config(
4589 accept_compression_encodings,
4590 send_compression_encodings,
4591 )
4592 .apply_max_message_size_config(
4593 max_decoding_message_size,
4594 max_encoding_message_size,
4595 );
4596 let res = grpc.unary(method, req).await;
4597 Ok(res)
4598 };
4599 Box::pin(fut)
4600 }
4601 "/hummock.HummockManagerService/RiseCtlListCompactionStatus" => {
4602 #[allow(non_camel_case_types)]
4603 struct RiseCtlListCompactionStatusSvc<T: HummockManagerService>(
4604 pub Arc<T>,
4605 );
4606 impl<
4607 T: HummockManagerService,
4608 > tonic::server::UnaryService<
4609 super::RiseCtlListCompactionStatusRequest,
4610 > for RiseCtlListCompactionStatusSvc<T> {
4611 type Response = super::RiseCtlListCompactionStatusResponse;
4612 type Future = BoxFuture<
4613 tonic::Response<Self::Response>,
4614 tonic::Status,
4615 >;
4616 fn call(
4617 &mut self,
4618 request: tonic::Request<
4619 super::RiseCtlListCompactionStatusRequest,
4620 >,
4621 ) -> Self::Future {
4622 let inner = Arc::clone(&self.0);
4623 let fut = async move {
4624 <T as HummockManagerService>::rise_ctl_list_compaction_status(
4625 &inner,
4626 request,
4627 )
4628 .await
4629 };
4630 Box::pin(fut)
4631 }
4632 }
4633 let accept_compression_encodings = self.accept_compression_encodings;
4634 let send_compression_encodings = self.send_compression_encodings;
4635 let max_decoding_message_size = self.max_decoding_message_size;
4636 let max_encoding_message_size = self.max_encoding_message_size;
4637 let inner = self.inner.clone();
4638 let fut = async move {
4639 let method = RiseCtlListCompactionStatusSvc(inner);
4640 let codec = tonic_prost::ProstCodec::default();
4641 let mut grpc = tonic::server::Grpc::new(codec)
4642 .apply_compression_config(
4643 accept_compression_encodings,
4644 send_compression_encodings,
4645 )
4646 .apply_max_message_size_config(
4647 max_decoding_message_size,
4648 max_encoding_message_size,
4649 );
4650 let res = grpc.unary(method, req).await;
4651 Ok(res)
4652 };
4653 Box::pin(fut)
4654 }
4655 "/hummock.HummockManagerService/SubscribeCompactionEvent" => {
4656 #[allow(non_camel_case_types)]
4657 struct SubscribeCompactionEventSvc<T: HummockManagerService>(
4658 pub Arc<T>,
4659 );
4660 impl<
4661 T: HummockManagerService,
4662 > tonic::server::StreamingService<
4663 super::SubscribeCompactionEventRequest,
4664 > for SubscribeCompactionEventSvc<T> {
4665 type Response = super::SubscribeCompactionEventResponse;
4666 type ResponseStream = T::SubscribeCompactionEventStream;
4667 type Future = BoxFuture<
4668 tonic::Response<Self::ResponseStream>,
4669 tonic::Status,
4670 >;
4671 fn call(
4672 &mut self,
4673 request: tonic::Request<
4674 tonic::Streaming<super::SubscribeCompactionEventRequest>,
4675 >,
4676 ) -> Self::Future {
4677 let inner = Arc::clone(&self.0);
4678 let fut = async move {
4679 <T as HummockManagerService>::subscribe_compaction_event(
4680 &inner,
4681 request,
4682 )
4683 .await
4684 };
4685 Box::pin(fut)
4686 }
4687 }
4688 let accept_compression_encodings = self.accept_compression_encodings;
4689 let send_compression_encodings = self.send_compression_encodings;
4690 let max_decoding_message_size = self.max_decoding_message_size;
4691 let max_encoding_message_size = self.max_encoding_message_size;
4692 let inner = self.inner.clone();
4693 let fut = async move {
4694 let method = SubscribeCompactionEventSvc(inner);
4695 let codec = tonic_prost::ProstCodec::default();
4696 let mut grpc = tonic::server::Grpc::new(codec)
4697 .apply_compression_config(
4698 accept_compression_encodings,
4699 send_compression_encodings,
4700 )
4701 .apply_max_message_size_config(
4702 max_decoding_message_size,
4703 max_encoding_message_size,
4704 );
4705 let res = grpc.streaming(method, req).await;
4706 Ok(res)
4707 };
4708 Box::pin(fut)
4709 }
4710 "/hummock.HummockManagerService/ReportCompactionTask" => {
4711 #[allow(non_camel_case_types)]
4712 struct ReportCompactionTaskSvc<T: HummockManagerService>(pub Arc<T>);
4713 impl<
4714 T: HummockManagerService,
4715 > tonic::server::UnaryService<super::ReportCompactionTaskRequest>
4716 for ReportCompactionTaskSvc<T> {
4717 type Response = super::ReportCompactionTaskResponse;
4718 type Future = BoxFuture<
4719 tonic::Response<Self::Response>,
4720 tonic::Status,
4721 >;
4722 fn call(
4723 &mut self,
4724 request: tonic::Request<super::ReportCompactionTaskRequest>,
4725 ) -> Self::Future {
4726 let inner = Arc::clone(&self.0);
4727 let fut = async move {
4728 <T as HummockManagerService>::report_compaction_task(
4729 &inner,
4730 request,
4731 )
4732 .await
4733 };
4734 Box::pin(fut)
4735 }
4736 }
4737 let accept_compression_encodings = self.accept_compression_encodings;
4738 let send_compression_encodings = self.send_compression_encodings;
4739 let max_decoding_message_size = self.max_decoding_message_size;
4740 let max_encoding_message_size = self.max_encoding_message_size;
4741 let inner = self.inner.clone();
4742 let fut = async move {
4743 let method = ReportCompactionTaskSvc(inner);
4744 let codec = tonic_prost::ProstCodec::default();
4745 let mut grpc = tonic::server::Grpc::new(codec)
4746 .apply_compression_config(
4747 accept_compression_encodings,
4748 send_compression_encodings,
4749 )
4750 .apply_max_message_size_config(
4751 max_decoding_message_size,
4752 max_encoding_message_size,
4753 );
4754 let res = grpc.unary(method, req).await;
4755 Ok(res)
4756 };
4757 Box::pin(fut)
4758 }
4759 "/hummock.HummockManagerService/ListBranchedObject" => {
4760 #[allow(non_camel_case_types)]
4761 struct ListBranchedObjectSvc<T: HummockManagerService>(pub Arc<T>);
4762 impl<
4763 T: HummockManagerService,
4764 > tonic::server::UnaryService<super::ListBranchedObjectRequest>
4765 for ListBranchedObjectSvc<T> {
4766 type Response = super::ListBranchedObjectResponse;
4767 type Future = BoxFuture<
4768 tonic::Response<Self::Response>,
4769 tonic::Status,
4770 >;
4771 fn call(
4772 &mut self,
4773 request: tonic::Request<super::ListBranchedObjectRequest>,
4774 ) -> Self::Future {
4775 let inner = Arc::clone(&self.0);
4776 let fut = async move {
4777 <T as HummockManagerService>::list_branched_object(
4778 &inner,
4779 request,
4780 )
4781 .await
4782 };
4783 Box::pin(fut)
4784 }
4785 }
4786 let accept_compression_encodings = self.accept_compression_encodings;
4787 let send_compression_encodings = self.send_compression_encodings;
4788 let max_decoding_message_size = self.max_decoding_message_size;
4789 let max_encoding_message_size = self.max_encoding_message_size;
4790 let inner = self.inner.clone();
4791 let fut = async move {
4792 let method = ListBranchedObjectSvc(inner);
4793 let codec = tonic_prost::ProstCodec::default();
4794 let mut grpc = tonic::server::Grpc::new(codec)
4795 .apply_compression_config(
4796 accept_compression_encodings,
4797 send_compression_encodings,
4798 )
4799 .apply_max_message_size_config(
4800 max_decoding_message_size,
4801 max_encoding_message_size,
4802 );
4803 let res = grpc.unary(method, req).await;
4804 Ok(res)
4805 };
4806 Box::pin(fut)
4807 }
4808 "/hummock.HummockManagerService/ListActiveWriteLimit" => {
4809 #[allow(non_camel_case_types)]
4810 struct ListActiveWriteLimitSvc<T: HummockManagerService>(pub Arc<T>);
4811 impl<
4812 T: HummockManagerService,
4813 > tonic::server::UnaryService<super::ListActiveWriteLimitRequest>
4814 for ListActiveWriteLimitSvc<T> {
4815 type Response = super::ListActiveWriteLimitResponse;
4816 type Future = BoxFuture<
4817 tonic::Response<Self::Response>,
4818 tonic::Status,
4819 >;
4820 fn call(
4821 &mut self,
4822 request: tonic::Request<super::ListActiveWriteLimitRequest>,
4823 ) -> Self::Future {
4824 let inner = Arc::clone(&self.0);
4825 let fut = async move {
4826 <T as HummockManagerService>::list_active_write_limit(
4827 &inner,
4828 request,
4829 )
4830 .await
4831 };
4832 Box::pin(fut)
4833 }
4834 }
4835 let accept_compression_encodings = self.accept_compression_encodings;
4836 let send_compression_encodings = self.send_compression_encodings;
4837 let max_decoding_message_size = self.max_decoding_message_size;
4838 let max_encoding_message_size = self.max_encoding_message_size;
4839 let inner = self.inner.clone();
4840 let fut = async move {
4841 let method = ListActiveWriteLimitSvc(inner);
4842 let codec = tonic_prost::ProstCodec::default();
4843 let mut grpc = tonic::server::Grpc::new(codec)
4844 .apply_compression_config(
4845 accept_compression_encodings,
4846 send_compression_encodings,
4847 )
4848 .apply_max_message_size_config(
4849 max_decoding_message_size,
4850 max_encoding_message_size,
4851 );
4852 let res = grpc.unary(method, req).await;
4853 Ok(res)
4854 };
4855 Box::pin(fut)
4856 }
4857 "/hummock.HummockManagerService/ListHummockMetaConfig" => {
4858 #[allow(non_camel_case_types)]
4859 struct ListHummockMetaConfigSvc<T: HummockManagerService>(
4860 pub Arc<T>,
4861 );
4862 impl<
4863 T: HummockManagerService,
4864 > tonic::server::UnaryService<super::ListHummockMetaConfigRequest>
4865 for ListHummockMetaConfigSvc<T> {
4866 type Response = super::ListHummockMetaConfigResponse;
4867 type Future = BoxFuture<
4868 tonic::Response<Self::Response>,
4869 tonic::Status,
4870 >;
4871 fn call(
4872 &mut self,
4873 request: tonic::Request<super::ListHummockMetaConfigRequest>,
4874 ) -> Self::Future {
4875 let inner = Arc::clone(&self.0);
4876 let fut = async move {
4877 <T as HummockManagerService>::list_hummock_meta_config(
4878 &inner,
4879 request,
4880 )
4881 .await
4882 };
4883 Box::pin(fut)
4884 }
4885 }
4886 let accept_compression_encodings = self.accept_compression_encodings;
4887 let send_compression_encodings = self.send_compression_encodings;
4888 let max_decoding_message_size = self.max_decoding_message_size;
4889 let max_encoding_message_size = self.max_encoding_message_size;
4890 let inner = self.inner.clone();
4891 let fut = async move {
4892 let method = ListHummockMetaConfigSvc(inner);
4893 let codec = tonic_prost::ProstCodec::default();
4894 let mut grpc = tonic::server::Grpc::new(codec)
4895 .apply_compression_config(
4896 accept_compression_encodings,
4897 send_compression_encodings,
4898 )
4899 .apply_max_message_size_config(
4900 max_decoding_message_size,
4901 max_encoding_message_size,
4902 );
4903 let res = grpc.unary(method, req).await;
4904 Ok(res)
4905 };
4906 Box::pin(fut)
4907 }
4908 "/hummock.HummockManagerService/GetCompactionScore" => {
4909 #[allow(non_camel_case_types)]
4910 struct GetCompactionScoreSvc<T: HummockManagerService>(pub Arc<T>);
4911 impl<
4912 T: HummockManagerService,
4913 > tonic::server::UnaryService<super::GetCompactionScoreRequest>
4914 for GetCompactionScoreSvc<T> {
4915 type Response = super::GetCompactionScoreResponse;
4916 type Future = BoxFuture<
4917 tonic::Response<Self::Response>,
4918 tonic::Status,
4919 >;
4920 fn call(
4921 &mut self,
4922 request: tonic::Request<super::GetCompactionScoreRequest>,
4923 ) -> Self::Future {
4924 let inner = Arc::clone(&self.0);
4925 let fut = async move {
4926 <T as HummockManagerService>::get_compaction_score(
4927 &inner,
4928 request,
4929 )
4930 .await
4931 };
4932 Box::pin(fut)
4933 }
4934 }
4935 let accept_compression_encodings = self.accept_compression_encodings;
4936 let send_compression_encodings = self.send_compression_encodings;
4937 let max_decoding_message_size = self.max_decoding_message_size;
4938 let max_encoding_message_size = self.max_encoding_message_size;
4939 let inner = self.inner.clone();
4940 let fut = async move {
4941 let method = GetCompactionScoreSvc(inner);
4942 let codec = tonic_prost::ProstCodec::default();
4943 let mut grpc = tonic::server::Grpc::new(codec)
4944 .apply_compression_config(
4945 accept_compression_encodings,
4946 send_compression_encodings,
4947 )
4948 .apply_max_message_size_config(
4949 max_decoding_message_size,
4950 max_encoding_message_size,
4951 );
4952 let res = grpc.unary(method, req).await;
4953 Ok(res)
4954 };
4955 Box::pin(fut)
4956 }
4957 "/hummock.HummockManagerService/ListCompactTaskAssignment" => {
4958 #[allow(non_camel_case_types)]
4959 struct ListCompactTaskAssignmentSvc<T: HummockManagerService>(
4960 pub Arc<T>,
4961 );
4962 impl<
4963 T: HummockManagerService,
4964 > tonic::server::UnaryService<
4965 super::ListCompactTaskAssignmentRequest,
4966 > for ListCompactTaskAssignmentSvc<T> {
4967 type Response = super::ListCompactTaskAssignmentResponse;
4968 type Future = BoxFuture<
4969 tonic::Response<Self::Response>,
4970 tonic::Status,
4971 >;
4972 fn call(
4973 &mut self,
4974 request: tonic::Request<
4975 super::ListCompactTaskAssignmentRequest,
4976 >,
4977 ) -> Self::Future {
4978 let inner = Arc::clone(&self.0);
4979 let fut = async move {
4980 <T as HummockManagerService>::list_compact_task_assignment(
4981 &inner,
4982 request,
4983 )
4984 .await
4985 };
4986 Box::pin(fut)
4987 }
4988 }
4989 let accept_compression_encodings = self.accept_compression_encodings;
4990 let send_compression_encodings = self.send_compression_encodings;
4991 let max_decoding_message_size = self.max_decoding_message_size;
4992 let max_encoding_message_size = self.max_encoding_message_size;
4993 let inner = self.inner.clone();
4994 let fut = async move {
4995 let method = ListCompactTaskAssignmentSvc(inner);
4996 let codec = tonic_prost::ProstCodec::default();
4997 let mut grpc = tonic::server::Grpc::new(codec)
4998 .apply_compression_config(
4999 accept_compression_encodings,
5000 send_compression_encodings,
5001 )
5002 .apply_max_message_size_config(
5003 max_decoding_message_size,
5004 max_encoding_message_size,
5005 );
5006 let res = grpc.unary(method, req).await;
5007 Ok(res)
5008 };
5009 Box::pin(fut)
5010 }
5011 "/hummock.HummockManagerService/ListCompactTaskProgress" => {
5012 #[allow(non_camel_case_types)]
5013 struct ListCompactTaskProgressSvc<T: HummockManagerService>(
5014 pub Arc<T>,
5015 );
5016 impl<
5017 T: HummockManagerService,
5018 > tonic::server::UnaryService<super::ListCompactTaskProgressRequest>
5019 for ListCompactTaskProgressSvc<T> {
5020 type Response = super::ListCompactTaskProgressResponse;
5021 type Future = BoxFuture<
5022 tonic::Response<Self::Response>,
5023 tonic::Status,
5024 >;
5025 fn call(
5026 &mut self,
5027 request: tonic::Request<
5028 super::ListCompactTaskProgressRequest,
5029 >,
5030 ) -> Self::Future {
5031 let inner = Arc::clone(&self.0);
5032 let fut = async move {
5033 <T as HummockManagerService>::list_compact_task_progress(
5034 &inner,
5035 request,
5036 )
5037 .await
5038 };
5039 Box::pin(fut)
5040 }
5041 }
5042 let accept_compression_encodings = self.accept_compression_encodings;
5043 let send_compression_encodings = self.send_compression_encodings;
5044 let max_decoding_message_size = self.max_decoding_message_size;
5045 let max_encoding_message_size = self.max_encoding_message_size;
5046 let inner = self.inner.clone();
5047 let fut = async move {
5048 let method = ListCompactTaskProgressSvc(inner);
5049 let codec = tonic_prost::ProstCodec::default();
5050 let mut grpc = tonic::server::Grpc::new(codec)
5051 .apply_compression_config(
5052 accept_compression_encodings,
5053 send_compression_encodings,
5054 )
5055 .apply_max_message_size_config(
5056 max_decoding_message_size,
5057 max_encoding_message_size,
5058 );
5059 let res = grpc.unary(method, req).await;
5060 Ok(res)
5061 };
5062 Box::pin(fut)
5063 }
5064 "/hummock.HummockManagerService/CancelCompactTask" => {
5065 #[allow(non_camel_case_types)]
5066 struct CancelCompactTaskSvc<T: HummockManagerService>(pub Arc<T>);
5067 impl<
5068 T: HummockManagerService,
5069 > tonic::server::UnaryService<super::CancelCompactTaskRequest>
5070 for CancelCompactTaskSvc<T> {
5071 type Response = super::CancelCompactTaskResponse;
5072 type Future = BoxFuture<
5073 tonic::Response<Self::Response>,
5074 tonic::Status,
5075 >;
5076 fn call(
5077 &mut self,
5078 request: tonic::Request<super::CancelCompactTaskRequest>,
5079 ) -> Self::Future {
5080 let inner = Arc::clone(&self.0);
5081 let fut = async move {
5082 <T as HummockManagerService>::cancel_compact_task(
5083 &inner,
5084 request,
5085 )
5086 .await
5087 };
5088 Box::pin(fut)
5089 }
5090 }
5091 let accept_compression_encodings = self.accept_compression_encodings;
5092 let send_compression_encodings = self.send_compression_encodings;
5093 let max_decoding_message_size = self.max_decoding_message_size;
5094 let max_encoding_message_size = self.max_encoding_message_size;
5095 let inner = self.inner.clone();
5096 let fut = async move {
5097 let method = CancelCompactTaskSvc(inner);
5098 let codec = tonic_prost::ProstCodec::default();
5099 let mut grpc = tonic::server::Grpc::new(codec)
5100 .apply_compression_config(
5101 accept_compression_encodings,
5102 send_compression_encodings,
5103 )
5104 .apply_max_message_size_config(
5105 max_decoding_message_size,
5106 max_encoding_message_size,
5107 );
5108 let res = grpc.unary(method, req).await;
5109 Ok(res)
5110 };
5111 Box::pin(fut)
5112 }
5113 "/hummock.HummockManagerService/GetVersionByEpoch" => {
5114 #[allow(non_camel_case_types)]
5115 struct GetVersionByEpochSvc<T: HummockManagerService>(pub Arc<T>);
5116 impl<
5117 T: HummockManagerService,
5118 > tonic::server::UnaryService<super::GetVersionByEpochRequest>
5119 for GetVersionByEpochSvc<T> {
5120 type Response = super::GetVersionByEpochResponse;
5121 type Future = BoxFuture<
5122 tonic::Response<Self::Response>,
5123 tonic::Status,
5124 >;
5125 fn call(
5126 &mut self,
5127 request: tonic::Request<super::GetVersionByEpochRequest>,
5128 ) -> Self::Future {
5129 let inner = Arc::clone(&self.0);
5130 let fut = async move {
5131 <T as HummockManagerService>::get_version_by_epoch(
5132 &inner,
5133 request,
5134 )
5135 .await
5136 };
5137 Box::pin(fut)
5138 }
5139 }
5140 let accept_compression_encodings = self.accept_compression_encodings;
5141 let send_compression_encodings = self.send_compression_encodings;
5142 let max_decoding_message_size = self.max_decoding_message_size;
5143 let max_encoding_message_size = self.max_encoding_message_size;
5144 let inner = self.inner.clone();
5145 let fut = async move {
5146 let method = GetVersionByEpochSvc(inner);
5147 let codec = tonic_prost::ProstCodec::default();
5148 let mut grpc = tonic::server::Grpc::new(codec)
5149 .apply_compression_config(
5150 accept_compression_encodings,
5151 send_compression_encodings,
5152 )
5153 .apply_max_message_size_config(
5154 max_decoding_message_size,
5155 max_encoding_message_size,
5156 );
5157 let res = grpc.unary(method, req).await;
5158 Ok(res)
5159 };
5160 Box::pin(fut)
5161 }
5162 "/hummock.HummockManagerService/MergeCompactionGroup" => {
5163 #[allow(non_camel_case_types)]
5164 struct MergeCompactionGroupSvc<T: HummockManagerService>(pub Arc<T>);
5165 impl<
5166 T: HummockManagerService,
5167 > tonic::server::UnaryService<super::MergeCompactionGroupRequest>
5168 for MergeCompactionGroupSvc<T> {
5169 type Response = super::MergeCompactionGroupResponse;
5170 type Future = BoxFuture<
5171 tonic::Response<Self::Response>,
5172 tonic::Status,
5173 >;
5174 fn call(
5175 &mut self,
5176 request: tonic::Request<super::MergeCompactionGroupRequest>,
5177 ) -> Self::Future {
5178 let inner = Arc::clone(&self.0);
5179 let fut = async move {
5180 <T as HummockManagerService>::merge_compaction_group(
5181 &inner,
5182 request,
5183 )
5184 .await
5185 };
5186 Box::pin(fut)
5187 }
5188 }
5189 let accept_compression_encodings = self.accept_compression_encodings;
5190 let send_compression_encodings = self.send_compression_encodings;
5191 let max_decoding_message_size = self.max_decoding_message_size;
5192 let max_encoding_message_size = self.max_encoding_message_size;
5193 let inner = self.inner.clone();
5194 let fut = async move {
5195 let method = MergeCompactionGroupSvc(inner);
5196 let codec = tonic_prost::ProstCodec::default();
5197 let mut grpc = tonic::server::Grpc::new(codec)
5198 .apply_compression_config(
5199 accept_compression_encodings,
5200 send_compression_encodings,
5201 )
5202 .apply_max_message_size_config(
5203 max_decoding_message_size,
5204 max_encoding_message_size,
5205 );
5206 let res = grpc.unary(method, req).await;
5207 Ok(res)
5208 };
5209 Box::pin(fut)
5210 }
5211 "/hummock.HummockManagerService/GetTableChangeLogs" => {
5212 #[allow(non_camel_case_types)]
5213 struct GetTableChangeLogsSvc<T: HummockManagerService>(pub Arc<T>);
5214 impl<
5215 T: HummockManagerService,
5216 > tonic::server::UnaryService<super::GetTableChangeLogsRequest>
5217 for GetTableChangeLogsSvc<T> {
5218 type Response = super::GetTableChangeLogsResponse;
5219 type Future = BoxFuture<
5220 tonic::Response<Self::Response>,
5221 tonic::Status,
5222 >;
5223 fn call(
5224 &mut self,
5225 request: tonic::Request<super::GetTableChangeLogsRequest>,
5226 ) -> Self::Future {
5227 let inner = Arc::clone(&self.0);
5228 let fut = async move {
5229 <T as HummockManagerService>::get_table_change_logs(
5230 &inner,
5231 request,
5232 )
5233 .await
5234 };
5235 Box::pin(fut)
5236 }
5237 }
5238 let accept_compression_encodings = self.accept_compression_encodings;
5239 let send_compression_encodings = self.send_compression_encodings;
5240 let max_decoding_message_size = self.max_decoding_message_size;
5241 let max_encoding_message_size = self.max_encoding_message_size;
5242 let inner = self.inner.clone();
5243 let fut = async move {
5244 let method = GetTableChangeLogsSvc(inner);
5245 let codec = tonic_prost::ProstCodec::default();
5246 let mut grpc = tonic::server::Grpc::new(codec)
5247 .apply_compression_config(
5248 accept_compression_encodings,
5249 send_compression_encodings,
5250 )
5251 .apply_max_message_size_config(
5252 max_decoding_message_size,
5253 max_encoding_message_size,
5254 );
5255 let res = grpc.unary(method, req).await;
5256 Ok(res)
5257 };
5258 Box::pin(fut)
5259 }
5260 "/hummock.HummockManagerService/SubscribeIcebergCompactionEvent" => {
5261 #[allow(non_camel_case_types)]
5262 struct SubscribeIcebergCompactionEventSvc<T: HummockManagerService>(
5263 pub Arc<T>,
5264 );
5265 impl<
5266 T: HummockManagerService,
5267 > tonic::server::StreamingService<
5268 super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
5269 > for SubscribeIcebergCompactionEventSvc<T> {
5270 type Response = super::super::iceberg_compaction::SubscribeIcebergCompactionEventResponse;
5271 type ResponseStream = T::SubscribeIcebergCompactionEventStream;
5272 type Future = BoxFuture<
5273 tonic::Response<Self::ResponseStream>,
5274 tonic::Status,
5275 >;
5276 fn call(
5277 &mut self,
5278 request: tonic::Request<
5279 tonic::Streaming<
5280 super::super::iceberg_compaction::SubscribeIcebergCompactionEventRequest,
5281 >,
5282 >,
5283 ) -> Self::Future {
5284 let inner = Arc::clone(&self.0);
5285 let fut = async move {
5286 <T as HummockManagerService>::subscribe_iceberg_compaction_event(
5287 &inner,
5288 request,
5289 )
5290 .await
5291 };
5292 Box::pin(fut)
5293 }
5294 }
5295 let accept_compression_encodings = self.accept_compression_encodings;
5296 let send_compression_encodings = self.send_compression_encodings;
5297 let max_decoding_message_size = self.max_decoding_message_size;
5298 let max_encoding_message_size = self.max_encoding_message_size;
5299 let inner = self.inner.clone();
5300 let fut = async move {
5301 let method = SubscribeIcebergCompactionEventSvc(inner);
5302 let codec = tonic_prost::ProstCodec::default();
5303 let mut grpc = tonic::server::Grpc::new(codec)
5304 .apply_compression_config(
5305 accept_compression_encodings,
5306 send_compression_encodings,
5307 )
5308 .apply_max_message_size_config(
5309 max_decoding_message_size,
5310 max_encoding_message_size,
5311 );
5312 let res = grpc.streaming(method, req).await;
5313 Ok(res)
5314 };
5315 Box::pin(fut)
5316 }
5317 _ => {
5318 Box::pin(async move {
5319 let mut response = http::Response::new(
5320 tonic::body::Body::default(),
5321 );
5322 let headers = response.headers_mut();
5323 headers
5324 .insert(
5325 tonic::Status::GRPC_STATUS,
5326 (tonic::Code::Unimplemented as i32).into(),
5327 );
5328 headers
5329 .insert(
5330 http::header::CONTENT_TYPE,
5331 tonic::metadata::GRPC_CONTENT_TYPE,
5332 );
5333 Ok(response)
5334 })
5335 }
5336 }
5337 }
5338 }
5339 impl<T> Clone for HummockManagerServiceServer<T> {
5340 fn clone(&self) -> Self {
5341 let inner = self.inner.clone();
5342 Self {
5343 inner,
5344 accept_compression_encodings: self.accept_compression_encodings,
5345 send_compression_encodings: self.send_compression_encodings,
5346 max_decoding_message_size: self.max_decoding_message_size,
5347 max_encoding_message_size: self.max_encoding_message_size,
5348 }
5349 }
5350 }
5351 pub const SERVICE_NAME: &str = "hummock.HummockManagerService";
5353 impl<T> tonic::server::NamedService for HummockManagerServiceServer<T> {
5354 const NAME: &'static str = SERVICE_NAME;
5355 }
5356}