From 3a74853024af12fa00ed8e102c3d66ff80942dc4 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Tue, 17 Mar 2026 20:50:05 -0700 Subject: [PATCH] Set isHeartbeating to true at startup matching Go's VolumeServer init Go unconditionally sets isHeartbeating: true in the VolumeServer struct literal. Rust was starting with false when masters are configured, causing /healthz to return 503 until the first heartbeat succeeds. --- seaweed-volume/src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/seaweed-volume/src/main.rs b/seaweed-volume/src/main.rs index f180392db..2883aaea8 100644 --- a/seaweed-volume/src/main.rs +++ b/seaweed-volume/src/main.rs @@ -303,7 +303,8 @@ async fn run( rack: config.rack.clone(), file_size_limit_bytes: config.file_size_limit_bytes, maintenance_byte_per_second: config.maintenance_byte_per_second, - is_heartbeating: std::sync::atomic::AtomicBool::new(config.masters.is_empty()), + // Go sets isHeartbeating: true unconditionally at startup + is_heartbeating: std::sync::atomic::AtomicBool::new(true), has_master: !config.masters.is_empty(), pre_stop_seconds: config.pre_stop_seconds, volume_state_notify: tokio::sync::Notify::new(),