From 24644c52b89f8e279464e87e5a7d0630e726932e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Milenkovi=C4=87?= Date: Tue, 8 Oct 2024 16:08:29 +0100 Subject: [PATCH 1/2] remove flight-sql from scheduler default options --- ballista/scheduler/Cargo.toml | 2 +- ballista/scheduler/src/scheduler_process.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ballista/scheduler/Cargo.toml b/ballista/scheduler/Cargo.toml index 048378499..468e66a33 100644 --- a/ballista/scheduler/Cargo.toml +++ b/ballista/scheduler/Cargo.toml @@ -34,7 +34,7 @@ name = "ballista-scheduler" path = "src/bin/main.rs" [features] -default = ["flight-sql"] +default = [] flight-sql = [] prometheus-metrics = ["prometheus", "once_cell"] diff --git a/ballista/scheduler/src/scheduler_process.rs b/ballista/scheduler/src/scheduler_process.rs index 1f7f7ac35..943f28b82 100644 --- a/ballista/scheduler/src/scheduler_process.rs +++ b/ballista/scheduler/src/scheduler_process.rs @@ -29,6 +29,7 @@ use std::{net::SocketAddr, sync::Arc}; use crate::api::get_routes; use crate::cluster::BallistaCluster; use crate::config::SchedulerConfig; +#[cfg(feature = "flight-sql")] use crate::flight_sql::FlightSqlServiceImpl; use crate::metrics::default_metrics_collector; use crate::scheduler_server::externalscaler::external_scaler_server::ExternalScalerServer; From 9cd6463a0609cc327268108a88567c4ad08bb1aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Milenkovi=C4=87?= Date: Tue, 8 Oct 2024 16:15:05 +0100 Subject: [PATCH 2/2] keda-scheduler is optional feature (off by default) --- ballista/scheduler/Cargo.toml | 1 + ballista/scheduler/src/scheduler_process.rs | 9 +++++---- ballista/scheduler/src/scheduler_server/mod.rs | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ballista/scheduler/Cargo.toml b/ballista/scheduler/Cargo.toml index 468e66a33..9409ea087 100644 --- a/ballista/scheduler/Cargo.toml +++ b/ballista/scheduler/Cargo.toml @@ -36,6 +36,7 @@ path = "src/bin/main.rs" [features] default = [] flight-sql = [] +keda-scaler = [] prometheus-metrics = ["prometheus", "once_cell"] diff --git a/ballista/scheduler/src/scheduler_process.rs b/ballista/scheduler/src/scheduler_process.rs index 943f28b82..140dc1412 100644 --- a/ballista/scheduler/src/scheduler_process.rs +++ b/ballista/scheduler/src/scheduler_process.rs @@ -32,6 +32,7 @@ use crate::config::SchedulerConfig; #[cfg(feature = "flight-sql")] use crate::flight_sql::FlightSqlServiceImpl; use crate::metrics::default_metrics_collector; +#[cfg(feature = "keda-scaler")] use crate::scheduler_server::externalscaler::external_scaler_server::ExternalScalerServer; use crate::scheduler_server::SchedulerServer; @@ -68,11 +69,11 @@ pub async fn start_server( .max_encoding_message_size(config.grpc_server_max_encoding_message_size as usize) .max_decoding_message_size(config.grpc_server_max_decoding_message_size as usize); - let keda_scaler = ExternalScalerServer::new(scheduler_server.clone()); + let tonic_builder = create_grpc_server().add_service(scheduler_grpc_server); - let tonic_builder = create_grpc_server() - .add_service(scheduler_grpc_server) - .add_service(keda_scaler); + #[cfg(feature = "keda-scaler")] + let tonic_builder = + tonic_builder.add_service(ExternalScalerServer::new(scheduler_server.clone())); #[cfg(feature = "flight-sql")] let tonic_builder = tonic_builder.add_service(FlightServiceServer::new( diff --git a/ballista/scheduler/src/scheduler_server/mod.rs b/ballista/scheduler/src/scheduler_server/mod.rs index e6e6739e5..59b988bcd 100644 --- a/ballista/scheduler/src/scheduler_server/mod.rs +++ b/ballista/scheduler/src/scheduler_server/mod.rs @@ -44,12 +44,14 @@ use crate::state::task_manager::TaskLauncher; use crate::state::SchedulerState; // include the generated protobuf source as a submodule +#[cfg(feature = "keda-scaler")] #[allow(clippy::all)] pub mod externalscaler { include!(concat!(env!("OUT_DIR"), "/externalscaler.rs")); } pub mod event; +#[cfg(feature = "keda-scaler")] mod external_scaler; mod grpc; pub(crate) mod query_stage_scheduler;