quickwit-oss/quickwit · error

Quickwit was compiled without the `pulsar` feature

Error message

Quickwit was compiled without the `pulsar` feature

What it means

Feature-gating error for Pulsar: check_source_connectivity bails when it encounters SourceParams::Pulsar in a binary compiled without the `pulsar` cargo feature. The Pulsar source and its connectivity check are absent from the compiled artifact.

Source

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

                kafka_source::check_connectivity(params.clone()).await?;
                Ok(())
            }
        }
        #[allow(unused_variables)]
        SourceParams::Kinesis(params) => {
            #[cfg(not(feature = "kinesis"))]
            anyhow::bail!("Quickwit was compiled without the `kinesis` feature");

            #[cfg(feature = "kinesis")]
            {
                kinesis::check_connectivity(params.clone()).await?;
                Ok(())
            }
        }
        #[allow(unused_variables)]
        SourceParams::Pulsar(params) => {
            #[cfg(not(feature = "pulsar"))]
            anyhow::bail!("Quickwit was compiled without the `pulsar` feature");

            #[cfg(feature = "pulsar")]
            {
                pulsar_source::check_connectivity(params).await?;
                Ok(())
            }
        }
        _ => Ok(()),
    }
}

#[derive(Debug)]
pub struct SuggestTruncate(pub SourceCheckpoint);

#[async_trait]
impl Handler<SuggestTruncate> for SourceActor {
    type Reply = ();

View on GitHub (pinned to a39730c5cd)

Solutions

  1. Rebuild Quickwit with `--features pulsar`.
  2. Remove the Pulsar source from the index configuration if not required.
  3. Use a build/profile that includes all required source features for the deployment environment.

Example fix

// before
cargo build --release
// after
cargo build --release --features pulsar
Defensive patterns

Strategy: validation

Validate before calling

// Verify Pulsar support before applying a pulsar source config
if !quickwit_build_has_feature("pulsar") {
    return Err(anyhow::anyhow!("binary lacks `pulsar` feature; rebuild with --features pulsar"));
}

Prevention

When it happens

Trigger: Calling check_source_connectivity (via run_index_checklist, add_source, update_source, or the REST test-connectivity endpoint) on a Pulsar source when the binary lacks the `pulsar` feature.

Common situations: Custom or minimal Quickwit builds omitting the pulsar feature; index configs referencing pulsar:// topics applied to a build without Pulsar support; CI building with a reduced feature set.

Understand the failure class

Background: "X is not installed. Please install it with pip install Y": missing optional dependency errors — ImportError/ValueError raised when a library's optional extra was never installed — this error's family across 22 libraries.

Related errors


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