quickwit-oss/quickwit · error

Quickwit was compiled without the `sqs` feature

Error message

Quickwit was compiled without the `sqs` feature

What it means

During source connectivity checking, a file source with SQS notifications cannot be validated when Quickwit was built without the `sqs` cargo feature. `check_source_connectivity` bails instead of calling the feature-gated `sqs_queue::check_connectivity`.

Source

Thrown at quickwit/quickwit-indexing/src/source/mod.rs:455

}

pub async fn check_source_connectivity(
    storage_resolver: &StorageResolver,
    source_config: &SourceConfig,
) -> anyhow::Result<()> {
    match &source_config.source_params {
        SourceParams::File(FileSourceParams::Filepath(file_uri)) => {
            let (dir_uri, file_name) = dir_and_filename(file_uri)?;
            let storage = storage_resolver.resolve(&dir_uri).await?;
            storage.file_num_bytes(file_name).await?;
            Ok(())
        }
        #[allow(unused_variables)]
        SourceParams::File(FileSourceParams::Notifications(FileSourceNotification::Sqs(
            sqs_config,
        ))) => {
            #[cfg(not(feature = "sqs"))]
            anyhow::bail!("Quickwit was compiled without the `sqs` feature");

            #[cfg(feature = "sqs")]
            {
                queue_sources::sqs_queue::check_connectivity(&sqs_config.queue_url).await?;
                Ok(())
            }
        }
        #[allow(unused_variables)]
        SourceParams::Kafka(params) => {
            #[cfg(not(feature = "kafka"))]
            anyhow::bail!("Quickwit was compiled without the `kafka` feature");

            #[cfg(feature = "kafka")]
            {
                kafka_source::check_connectivity(params.clone()).await?;
                Ok(())
            }
        }

View on GitHub (pinned to a39730c5cd)

Solutions

  1. Rebuild Quickwit with the `sqs` feature enabled (`cargo build --features sqs`) or use the official release binary/image.
  2. Skip SQS connectivity checks for this build, or switch the source away from SQS notifications.
Defensive patterns

Strategy: fallback

Validate before calling

// detect feature support before validating SQS sources
quickwit version # confirm official build; custom builds must include --features sqs

Try / catch

// skip SQS checks gracefully on feature-less builds
match check_source_connectivity(...) {
    Err(e) if e.to_string().contains("sqs feature") => warn_and_skip(),
    other => other?,
}

Prevention

When it happens

Trigger: Running `quickwit source check-connectivity` (or checklist/add-source/update-source flows that call it) for a source whose params are `FileSourceParams::Notifications(FileSourceNotification::Sqs(_))` on a binary compiled with `#[cfg(not(feature = "sqs"))]`.

Common situations: Minimal/custom Quickwit build without the `sqs` feature validating an index that uses SQS-driven file sources; CI builds with reduced feature sets.

Related errors


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