risingwavelabs/risingwave · error

No service is specified to start.

Error message

No service is specified to start.

What it means

A command-line validation guard in standalone mode's parse_standalone_opt_args: after merging subcommand options, none of meta_opts, compute_opts, frontend_opts, or compactor_opts is Some, meaning the user invoked `risingwave standalone` without specifying any service to run. The offending input is the CLI argument set, which selected standalone mode but provided no component flags.

Solutions

  1. Pass at least one service flag, e.g. `risingwave standalone --with-frontend`, or the combination you need (meta/compute/frontend/compactor)
  2. Check subcommand placement: service flags must come after `standalone`, not before it, or they will not be parsed into the standalone options
  3. Run `risingwave standalone --help` to list the accepted service flags and defaults
  4. Use the full `risingwave` all-in-one mode (without standalone) if you want the standard single-node defaults instead of explicit service selection
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/cmd_all/src/standalone.rs:171 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11). Data as JSON: /api/errors/427efb121658a905. Report an issue: GitHub.

Appendix: source

Thrown at src/cmd_all/src/standalone.rs:171

                .prometheus_listener_addr
                .clone_from(prometheus_listener_addr);
        }
        if let Some(compactor_opts) = compactor_opts.as_mut() {
            compactor_opts
                .prometheus_listener_addr
                .clone_from(prometheus_listener_addr);
        }
        if let Some(meta_opts) = meta_opts.as_mut() {
            meta_opts.prometheus_listener_addr = Some(prometheus_listener_addr.clone());
        }
    }

    if meta_opts.is_none()
        && compute_opts.is_none()
        && frontend_opts.is_none()
        && compactor_opts.is_none()
    {
        panic!("No service is specified to start.");
    }

    ParsedStandaloneOpts {
        meta_opts,
        compute_opts,
        frontend_opts,
        compactor_opts,
    }
}

/// A service under standalone mode.
struct Service {
    name: &'static str,
    runtime: BackgroundShutdownRuntime,
    main_task: tokio::task::JoinHandle<()>,
    shutdown: CancellationToken,
}

View on GitHub (pinned to 6469eb736d)