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