diff --git a/control_plane/src/local_env.rs b/control_plane/src/local_env.rs index da7d7e5469..f4026efbbf 100644 --- a/control_plane/src/local_env.rs +++ b/control_plane/src/local_env.rs @@ -165,8 +165,6 @@ pub struct NeonStorageControllerConf { #[serde(with = "humantime_serde")] pub long_reconcile_threshold: Option, - - pub load_safekeepers: bool, } impl NeonStorageControllerConf { @@ -190,7 +188,6 @@ impl Default for NeonStorageControllerConf { max_secondary_lag_bytes: None, heartbeat_interval: Self::DEFAULT_HEARTBEAT_INTERVAL, long_reconcile_threshold: None, - load_safekeepers: true, } } } diff --git a/control_plane/src/storage_controller.rs b/control_plane/src/storage_controller.rs index 77a9075aa7..16e12f4e02 100644 --- a/control_plane/src/storage_controller.rs +++ b/control_plane/src/storage_controller.rs @@ -537,10 +537,6 @@ impl StorageController { args.push("--start-as-candidate".to_string()); } - if self.config.load_safekeepers { - args.push("--load-safekeepers".to_string()); - } - if let Some(private_key) = &self.private_key { let claims = Claims::new(None, Scope::PageServerApi); let jwt_token = diff --git a/storage_controller/src/main.rs b/storage_controller/src/main.rs index 6ef17c0007..967fb2996f 100644 --- a/storage_controller/src/main.rs +++ b/storage_controller/src/main.rs @@ -143,10 +143,6 @@ struct Cli { // Flag to use https for requests to pageserver API. #[arg(long, default_value = "false")] use_https_pageserver_api: bool, - - /// Whether to load safekeeprs from the database and heartbeat them - #[arg(long, default_value = "false")] - load_safekeepers: bool, } enum StrictMode { @@ -360,7 +356,6 @@ async fn async_main() -> anyhow::Result<()> { start_as_candidate: args.start_as_candidate, http_service_port: args.listen.port() as i32, use_https_pageserver_api: args.use_https_pageserver_api, - load_safekeepers: args.load_safekeepers, }; // Validate that we can connect to the database diff --git a/storage_controller/src/service.rs b/storage_controller/src/service.rs index 8fc7f7a0c5..e12bd299ce 100644 --- a/storage_controller/src/service.rs +++ b/storage_controller/src/service.rs @@ -394,8 +394,6 @@ pub struct Config { pub long_reconcile_threshold: Duration, pub use_https_pageserver_api: bool, - - pub load_safekeepers: bool, } impl From for ApiError { @@ -1412,20 +1410,15 @@ impl Service { .set(nodes.len() as i64); tracing::info!("Loading safekeepers from database..."); - let safekeepers = if config.load_safekeepers { - persistence - .list_safekeepers() - .await? - .into_iter() - .map(|skp| Safekeeper::from_persistence(skp, CancellationToken::new())) - .collect::>() - } else { - tracing::info!("Skipping safekeeper loading"); - Default::default() - }; - + let safekeepers = persistence + .list_safekeepers() + .await? + .into_iter() + .map(|skp| Safekeeper::from_persistence(skp, CancellationToken::new())) + .collect::>(); let safekeepers: HashMap = safekeepers.into_iter().map(|n| (n.get_id(), n)).collect(); + tracing::info!("Loaded {} safekeepers from database.", safekeepers.len()); tracing::info!("Loading shards from database..."); let mut tenant_shard_persistence = persistence.load_active_tenant_shards().await?; @@ -8066,8 +8059,7 @@ impl Service { ) -> Result<(), DatabaseError> { let node_id = NodeId(record.id as u64); self.persistence.safekeeper_upsert(record.clone()).await?; - - if self.config.load_safekeepers { + { let mut locked = self.inner.write().unwrap(); let mut safekeepers = (*locked.safekeepers).clone(); match safekeepers.entry(node_id) { @@ -8099,7 +8091,7 @@ impl Service { .await?; let node_id = NodeId(id as u64); // After the change has been persisted successfully, update the in-memory state - if self.config.load_safekeepers { + { let mut locked = self.inner.write().unwrap(); let mut safekeepers = (*locked.safekeepers).clone(); let sk = safekeepers diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index 6171da52a0..ef9d8cb46f 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -1133,13 +1133,6 @@ class NeonEnv: if self.storage_controller_config is not None: cfg["storage_controller"] = self.storage_controller_config - # Disable new storcon flag in compat tests - if config.test_may_use_compatibility_snapshot_binaries: - if "storage_controller" in cfg: - cfg["storage_controller"]["load_safekeepers"] = False - else: - cfg["storage_controller"] = {"load_safekeepers": False} - # Create config for pageserver http_auth_type = "NeonJWT" if config.auth_enabled else "Trust" pg_auth_type = "NeonJWT" if config.auth_enabled else "Trust"