#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaftMessage {
#[prost(uint64, tag = "1")]
pub region_id: u64,
#[prost(message, optional, tag = "2")]
pub from_peer: ::core::option::Option<super::metapb::Peer>,
#[prost(message, optional, tag = "3")]
pub to_peer: ::core::option::Option<super::metapb::Peer>,
#[prost(message, optional, tag = "4")]
pub message: ::core::option::Option<super::eraftpb::Message>,
#[prost(message, optional, tag = "5")]
pub region_epoch: ::core::option::Option<super::metapb::RegionEpoch>,
#[prost(bool, tag = "6")]
pub is_tombstone: bool,
#[prost(bytes = "vec", tag = "7")]
pub start_key: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "8")]
pub end_key: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "9")]
pub merge_target: ::core::option::Option<super::metapb::Region>,
#[prost(message, optional, tag = "10")]
pub extra_msg: ::core::option::Option<ExtraMessage>,
#[prost(bytes = "vec", tag = "11")]
pub extra_ctx: ::prost::alloc::vec::Vec<u8>,
#[prost(enumeration = "super::disk_usage::DiskUsage", tag = "12")]
pub disk_usage: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaftTruncatedState {
#[prost(uint64, tag = "1")]
pub index: u64,
#[prost(uint64, tag = "2")]
pub term: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotCfFile {
#[prost(string, tag = "1")]
pub cf: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub size: u64,
#[prost(uint32, tag = "3")]
pub checksum: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotMeta {
#[prost(message, repeated, tag = "1")]
pub cf_files: ::prost::alloc::vec::Vec<SnapshotCfFile>,
#[prost(bool, tag = "2")]
pub for_balance: bool,
#[prost(bool, tag = "3")]
pub for_witness: bool,
#[prost(uint64, tag = "4")]
pub start: u64,
#[prost(uint64, tag = "5")]
pub generate_duration_sec: u64,
#[prost(string, tag = "6")]
pub tablet_snap_path: ::prost::alloc::string::String,
#[prost(uint64, tag = "7")]
pub commit_index_hint: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotChunk {
#[prost(message, optional, tag = "1")]
pub message: ::core::option::Option<RaftMessage>,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Done {}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TabletSnapshotFileMeta {
#[prost(uint64, tag = "1")]
pub file_size: u64,
#[prost(string, tag = "2")]
pub file_name: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "3")]
pub head_chunk: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "4")]
pub trailing_chunk: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TabletSnapshotPreview {
#[prost(message, repeated, tag = "1")]
pub metas: ::prost::alloc::vec::Vec<TabletSnapshotFileMeta>,
#[prost(bool, tag = "2")]
pub end: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TabletSnapshotFileChunk {
#[prost(uint64, tag = "1")]
pub file_size: u64,
#[prost(string, tag = "2")]
pub file_name: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "3")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "4")]
pub iv: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "5")]
pub key: ::core::option::Option<super::encryptionpb::DataKey>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TabletSnapshotHead {
#[prost(message, optional, tag = "1")]
pub message: ::core::option::Option<RaftMessage>,
#[prost(bool, tag = "2")]
pub use_cache: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TabletSnapshotEnd {
#[prost(uint64, tag = "1")]
pub checksum: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TabletSnapshotRequest {
#[prost(oneof = "tablet_snapshot_request::Payload", tags = "1, 2, 3, 4")]
pub payload: ::core::option::Option<tablet_snapshot_request::Payload>,
}
pub mod tablet_snapshot_request {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Payload {
#[prost(message, tag = "1")]
Head(super::TabletSnapshotHead),
#[prost(message, tag = "2")]
Preview(super::TabletSnapshotPreview),
#[prost(message, tag = "3")]
Chunk(super::TabletSnapshotFileChunk),
#[prost(message, tag = "4")]
End(super::TabletSnapshotEnd),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptedSnapshotFiles {
#[prost(string, repeated, tag = "1")]
pub file_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TabletSnapshotResponse {
#[prost(message, optional, tag = "1")]
pub files: ::core::option::Option<AcceptedSnapshotFiles>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeyValue {
#[prost(bytes = "vec", tag = "1")]
pub key: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaftSnapshotData {
#[prost(message, optional, tag = "1")]
pub region: ::core::option::Option<super::metapb::Region>,
#[prost(uint64, tag = "2")]
pub file_size: u64,
#[prost(message, repeated, tag = "3")]
pub data: ::prost::alloc::vec::Vec<KeyValue>,
#[prost(uint64, tag = "4")]
pub version: u64,
#[prost(message, optional, tag = "5")]
pub meta: ::core::option::Option<SnapshotMeta>,
#[prost(message, repeated, tag = "6")]
pub removed_records: ::prost::alloc::vec::Vec<super::metapb::Peer>,
#[prost(message, repeated, tag = "7")]
pub merged_records: ::prost::alloc::vec::Vec<MergedRecord>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoreIdent {
#[prost(uint64, tag = "1")]
pub cluster_id: u64,
#[prost(uint64, tag = "2")]
pub store_id: u64,
#[prost(enumeration = "super::kvrpcpb::ApiVersion", tag = "3")]
pub api_version: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoreRecoverState {
#[prost(uint64, tag = "1")]
pub seqno: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaftLocalState {
#[prost(message, optional, tag = "1")]
pub hard_state: ::core::option::Option<super::eraftpb::HardState>,
#[prost(uint64, tag = "2")]
pub last_index: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaftApplyState {
#[prost(uint64, tag = "1")]
pub applied_index: u64,
#[prost(uint64, tag = "3")]
pub last_commit_index: u64,
#[prost(uint64, tag = "4")]
pub commit_index: u64,
#[prost(uint64, tag = "5")]
pub commit_term: u64,
#[prost(message, optional, tag = "2")]
pub truncated_state: ::core::option::Option<RaftTruncatedState>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MergeState {
#[prost(uint64, tag = "1")]
pub min_index: u64,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<super::metapb::Region>,
#[prost(uint64, tag = "3")]
pub commit: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MergedRecord {
#[prost(uint64, tag = "1")]
pub source_region_id: u64,
#[prost(message, optional, tag = "2")]
pub source_epoch: ::core::option::Option<super::metapb::RegionEpoch>,
#[prost(message, repeated, tag = "3")]
pub source_peers: ::prost::alloc::vec::Vec<super::metapb::Peer>,
#[prost(message, repeated, tag = "9")]
pub source_removed_records: ::prost::alloc::vec::Vec<super::metapb::Peer>,
#[prost(uint64, tag = "4")]
pub target_region_id: u64,
#[prost(message, optional, tag = "5")]
pub target_epoch: ::core::option::Option<super::metapb::RegionEpoch>,
#[prost(message, repeated, tag = "6")]
pub target_peers: ::prost::alloc::vec::Vec<super::metapb::Peer>,
#[prost(uint64, tag = "7")]
pub index: u64,
#[prost(uint64, tag = "8")]
pub source_index: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegionLocalState {
#[prost(enumeration = "PeerState", tag = "1")]
pub state: i32,
#[prost(message, optional, tag = "2")]
pub region: ::core::option::Option<super::metapb::Region>,
#[prost(message, optional, tag = "3")]
pub merge_state: ::core::option::Option<MergeState>,
#[prost(uint64, tag = "4")]
pub tablet_index: u64,
#[prost(message, repeated, tag = "5")]
pub removed_records: ::prost::alloc::vec::Vec<super::metapb::Peer>,
#[prost(message, repeated, tag = "6")]
pub merged_records: ::prost::alloc::vec::Vec<MergedRecord>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegionSequenceNumberRelation {
#[prost(uint64, tag = "1")]
pub region_id: u64,
#[prost(uint64, tag = "2")]
pub sequence_number: u64,
#[prost(message, optional, tag = "3")]
pub apply_state: ::core::option::Option<RaftApplyState>,
#[prost(message, optional, tag = "4")]
pub region_state: ::core::option::Option<RegionLocalState>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvailabilityContext {
#[prost(uint64, tag = "1")]
pub from_region_id: u64,
#[prost(message, optional, tag = "2")]
pub from_region_epoch: ::core::option::Option<super::metapb::RegionEpoch>,
#[prost(bool, tag = "3")]
pub unavailable: bool,
#[prost(bool, tag = "4")]
pub trimmed: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FlushMemtable {
#[prost(uint64, tag = "1")]
pub region_id: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshBuckets {
#[prost(uint64, tag = "1")]
pub version: u64,
#[prost(bytes = "vec", repeated, tag = "2")]
pub keys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[prost(uint64, repeated, tag = "3")]
pub sizes: ::prost::alloc::vec::Vec<u64>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckGcPeer {
#[prost(uint64, tag = "1")]
pub from_region_id: u64,
#[prost(uint64, tag = "2")]
pub check_region_id: u64,
#[prost(message, optional, tag = "3")]
pub check_region_epoch: ::core::option::Option<super::metapb::RegionEpoch>,
#[prost(message, optional, tag = "4")]
pub check_peer: ::core::option::Option<super::metapb::Peer>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtraMessage {
#[prost(enumeration = "ExtraMessageType", tag = "1")]
pub r#type: i32,
#[prost(uint64, tag = "2")]
pub index: u64,
#[prost(message, repeated, tag = "3")]
pub check_peers: ::prost::alloc::vec::Vec<super::metapb::Peer>,
#[prost(bool, tag = "4")]
pub wait_data: bool,
#[prost(bool, tag = "5")]
pub forcely_awaken: bool,
#[prost(message, optional, tag = "6")]
pub check_gc_peer: ::core::option::Option<CheckGcPeer>,
#[prost(message, optional, tag = "7")]
pub flush_memtable: ::core::option::Option<FlushMemtable>,
#[prost(message, optional, tag = "8")]
pub availability_context: ::core::option::Option<AvailabilityContext>,
#[prost(message, optional, tag = "9")]
pub refresh_buckets: ::core::option::Option<RefreshBuckets>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PeerState {
Normal = 0,
Applying = 1,
Tombstone = 2,
Merging = 3,
Unavailable = 4,
}
impl PeerState {
pub fn as_str_name(&self) -> &'static str {
match self {
PeerState::Normal => "Normal",
PeerState::Applying => "Applying",
PeerState::Tombstone => "Tombstone",
PeerState::Merging => "Merging",
PeerState::Unavailable => "Unavailable",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"Normal" => Some(Self::Normal),
"Applying" => Some(Self::Applying),
"Tombstone" => Some(Self::Tombstone),
"Merging" => Some(Self::Merging),
"Unavailable" => Some(Self::Unavailable),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ExtraMessageType {
MsgRegionWakeUp = 0,
MsgWantRollbackMerge = 1,
MsgCheckStalePeer = 2,
MsgCheckStalePeerResponse = 3,
MsgHibernateRequest = 4,
MsgHibernateResponse = 5,
MsgRejectRaftLogCausedByMemoryUsage = 6,
MsgAvailabilityRequest = 7,
MsgAvailabilityResponse = 8,
MsgVoterReplicatedIndexRequest = 9,
MsgVoterReplicatedIndexResponse = 10,
MsgGcPeerRequest = 11,
MsgGcPeerResponse = 12,
MsgFlushMemtable = 13,
MsgRefreshBuckets = 14,
}
impl ExtraMessageType {
pub fn as_str_name(&self) -> &'static str {
match self {
ExtraMessageType::MsgRegionWakeUp => "MsgRegionWakeUp",
ExtraMessageType::MsgWantRollbackMerge => "MsgWantRollbackMerge",
ExtraMessageType::MsgCheckStalePeer => "MsgCheckStalePeer",
ExtraMessageType::MsgCheckStalePeerResponse => "MsgCheckStalePeerResponse",
ExtraMessageType::MsgHibernateRequest => "MsgHibernateRequest",
ExtraMessageType::MsgHibernateResponse => "MsgHibernateResponse",
ExtraMessageType::MsgRejectRaftLogCausedByMemoryUsage => {
"MsgRejectRaftLogCausedByMemoryUsage"
}
ExtraMessageType::MsgAvailabilityRequest => "MsgAvailabilityRequest",
ExtraMessageType::MsgAvailabilityResponse => "MsgAvailabilityResponse",
ExtraMessageType::MsgVoterReplicatedIndexRequest => {
"MsgVoterReplicatedIndexRequest"
}
ExtraMessageType::MsgVoterReplicatedIndexResponse => {
"MsgVoterReplicatedIndexResponse"
}
ExtraMessageType::MsgGcPeerRequest => "MsgGcPeerRequest",
ExtraMessageType::MsgGcPeerResponse => "MsgGcPeerResponse",
ExtraMessageType::MsgFlushMemtable => "MsgFlushMemtable",
ExtraMessageType::MsgRefreshBuckets => "MsgRefreshBuckets",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MsgRegionWakeUp" => Some(Self::MsgRegionWakeUp),
"MsgWantRollbackMerge" => Some(Self::MsgWantRollbackMerge),
"MsgCheckStalePeer" => Some(Self::MsgCheckStalePeer),
"MsgCheckStalePeerResponse" => Some(Self::MsgCheckStalePeerResponse),
"MsgHibernateRequest" => Some(Self::MsgHibernateRequest),
"MsgHibernateResponse" => Some(Self::MsgHibernateResponse),
"MsgRejectRaftLogCausedByMemoryUsage" => {
Some(Self::MsgRejectRaftLogCausedByMemoryUsage)
}
"MsgAvailabilityRequest" => Some(Self::MsgAvailabilityRequest),
"MsgAvailabilityResponse" => Some(Self::MsgAvailabilityResponse),
"MsgVoterReplicatedIndexRequest" => {
Some(Self::MsgVoterReplicatedIndexRequest)
}
"MsgVoterReplicatedIndexResponse" => {
Some(Self::MsgVoterReplicatedIndexResponse)
}
"MsgGcPeerRequest" => Some(Self::MsgGcPeerRequest),
"MsgGcPeerResponse" => Some(Self::MsgGcPeerResponse),
"MsgFlushMemtable" => Some(Self::MsgFlushMemtable),
"MsgRefreshBuckets" => Some(Self::MsgRefreshBuckets),
_ => None,
}
}
}