forked from Deuxfleurs/garage
Fix error when none of S3/K2V/WEB/ADMIN server is started (fix #613)
This commit is contained in:
parent
143a349f55
commit
aa79810596
1 changed files with 15 additions and 8 deletions
|
@ -130,20 +130,27 @@ pub async fn run_server(config_file: PathBuf, secrets: Secrets) -> Result<(), Er
|
||||||
warn!("This Garage version is built without the metrics feature");
|
warn!("This Garage version is built without the metrics feature");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stuff runs
|
if servers.is_empty() {
|
||||||
|
// Nothing runs except netapp (not in servers)
|
||||||
|
// Await shutdown signal before proceeding to shutting down netapp
|
||||||
|
wait_from(watch_cancel).await;
|
||||||
|
} else {
|
||||||
|
// Stuff runs
|
||||||
|
|
||||||
// When a cancel signal is sent, stuff stops
|
// When a cancel signal is sent, stuff stops
|
||||||
|
|
||||||
// Collect stuff
|
// Collect stuff
|
||||||
for (desc, join_handle) in servers {
|
for (desc, join_handle) in servers {
|
||||||
if let Err(e) = join_handle.await? {
|
if let Err(e) = join_handle.await? {
|
||||||
error!("{} server exited with error: {}", desc, e);
|
error!("{} server exited with error: {}", desc, e);
|
||||||
} else {
|
} else {
|
||||||
info!("{} server exited without error.", desc);
|
info!("{} server exited without error.", desc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove RPC handlers for system to break reference cycles
|
// Remove RPC handlers for system to break reference cycles
|
||||||
|
info!("Deregistering RPC handlers for shutdown...");
|
||||||
garage.system.netapp.drop_all_handlers();
|
garage.system.netapp.drop_all_handlers();
|
||||||
opentelemetry::global::shutdown_tracer_provider();
|
opentelemetry::global::shutdown_tracer_provider();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue