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