mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-26 23:59:58 +00:00
## Problem https://github.com/neondatabase/neon/issues/9965 ## Summary of changes Add safekeeper membership configuration struct itself and storing it in the control file. In passing also add creation timestamp to the control file (there were cases where I wanted it in the past). Remove obsolete unused PersistedPeerInfo struct from control file (still keep it control_file_upgrade.rs to have it in old upgrade code). Remove the binary representation of cfile in the roundtrip test. Updating it is annoying, and we still test the actual roundtrip. Also add configuration to timeline creation http request, currently used only in one python test. In passing, slightly change LSNs meaning in the request: normally start_lsn is passed (the same as ancestor_start_lsn in similar pageserver call), but we allow specifying higher commit_lsn for manual intervention if needed. Also when given LSN initialize term_history with it.
33 lines
1.1 KiB
Rust
33 lines
1.1 KiB
Rust
#![deny(unsafe_code)]
|
|
#![deny(clippy::undocumented_unsafe_blocks)]
|
|
use const_format::formatcp;
|
|
use pq_proto::SystemId;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
pub mod membership;
|
|
/// Public API types
|
|
pub mod models;
|
|
|
|
/// Consensus logical timestamp. Note: it is a part of sk control file.
|
|
pub type Term = u64;
|
|
/// With this term timeline is created initially. It
|
|
/// is a normal term except wp is never elected with it.
|
|
pub const INITIAL_TERM: Term = 0;
|
|
|
|
/// Information about Postgres. Safekeeper gets it once and then verifies all
|
|
/// further connections from computes match. Note: it is a part of sk control
|
|
/// file.
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
|
pub struct ServerInfo {
|
|
/// Postgres server version
|
|
pub pg_version: u32,
|
|
pub system_id: SystemId,
|
|
pub wal_seg_size: u32,
|
|
}
|
|
|
|
pub const DEFAULT_PG_LISTEN_PORT: u16 = 5454;
|
|
pub const DEFAULT_PG_LISTEN_ADDR: &str = formatcp!("127.0.0.1:{DEFAULT_PG_LISTEN_PORT}");
|
|
|
|
pub const DEFAULT_HTTP_LISTEN_PORT: u16 = 7676;
|
|
pub const DEFAULT_HTTP_LISTEN_ADDR: &str = formatcp!("127.0.0.1:{DEFAULT_HTTP_LISTEN_PORT}");
|