quickwit-oss/quickwit · error

tasks running the health check server should not panic or…

Error message

tasks running the health check server should not panic or be cancelled

What it means

The JoinHandle for the spawned health check server task returned an error, meaning that task panicked or was cancelled instead of finishing. The `.expect` encodes the invariant that the health server runs until shutdown; a JoinError here points to an internal bug or external task abort.

Solutions

  1. Inspect the panic backtrace and logs around the health server failure
  2. Rule out external cancellation (runtime shutdown, test timeouts)
  3. Report the issue with full logs if the cause is not identifiable
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at quickwit/quickwit-serve/src/lib.rs:1062 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of quickwit-oss/quickwit@a39730c5cd (2026-09-08). Data as JSON: /api/errors/8b51b56c1ab50564. Report an issue: GitHub.

Appendix: source

Thrown at quickwit/quickwit-serve/src/lib.rs:1062

    ));
    let grpc_join_handle = async move {
        spawn_named_task(grpc_server, "grpc_server")
            .await
            .expect("tasks running the gRPC server should not panic or be cancelled")
            .context("gRPC server failed")
    };

    let rest_join_handle = async move {
        spawn_named_task(rest_server, "rest_server")
            .await
            .expect("tasks running the REST server should not panic or be cancelled")
            .context("REST server failed")
    };

    let health_join_handle = async move {
        spawn_named_task(health_server_fut, "health_server")
            .await
            .expect("tasks running the health check server should not panic or be cancelled")
            .context("health check server failed")
    };

    let chitchat_server_handle = cluster.chitchat_server_termination_watcher().await;

    if let Err(err) = tokio::try_join!(
        grpc_join_handle,
        rest_join_handle,
        health_join_handle,
        chitchat_server_handle
    ) {
        error!("server failed: {err:?}");
    }

    let actor_exit_statuses = shutdown_handle
        .await
        .context("failed to gracefully shutdown services")?;
    Ok(actor_exit_statuses)

View on GitHub (pinned to a39730c5cd)