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