{"record":{"id":"b33b9003d3f66a7b","repo":"quickwit-oss/quickwit","slug":"failed-to-parse-kafka-client-log-level-value","errorCode":null,"errorMessage":"failed to parse Kafka client log level. value `{}` is not supported","messagePattern":"failed to parse Kafka client log level\\. value `(.+?)` is not supported","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"quickwit/quickwit-indexing/src/source/kafka_source.rs","lineNumber":700,"sourceCode":"        })\n        .context(\"failed to create Kafka consumer\")?;\n\n    Ok((client_config, consumer, group_id))\n}\n\nfn parse_client_log_level(client_log_level: Option<String>) -> anyhow::Result<RDKafkaLogLevel> {\n    let log_level = match client_log_level\n        .map(|log_level| log_level.to_lowercase())\n        .as_deref()\n    {\n        Some(\"debug\") => RDKafkaLogLevel::Debug,\n        Some(\"info\") | None => RDKafkaLogLevel::Info,\n        Some(\"warn\") | Some(\"warning\") => RDKafkaLogLevel::Warning,\n        Some(\"error\") => RDKafkaLogLevel::Error,\n        Some(\"critical\") => RDKafkaLogLevel::Critical,\n        Some(\"alert\") => RDKafkaLogLevel::Alert,\n        Some(\"emerg\") => RDKafkaLogLevel::Emerg,\n        Some(level) => bail!(\n            \"failed to parse Kafka client log level. value `{}` is not supported\",\n            level\n        ),\n    };\n    Ok(log_level)\n}\n\nfn parse_client_params(client_params: JsonValue) -> anyhow::Result<ClientConfig> {\n    let params = if let JsonValue::Object(params) = client_params {\n        params\n    } else {\n        bail!(\"failed to parse Kafka client parameters. `client_params` must be a JSON object\");\n    };\n    let mut client_config = ClientConfig::new();\n    for (key, value_json) in params {\n        let value = match value_json {\n            JsonValue::Bool(value_bool) => value_bool.to_string(),\n            JsonValue::Number(value_number) => value_number.to_string(),","sourceCodeStart":682,"sourceCodeEnd":718,"githubUrl":"https://github.com/quickwit-oss/quickwit/blob/a39730c5cdcd1a4fe798403737ae293999ea21f8/quickwit/quickwit-indexing/src/source/kafka_source.rs#L682-L718","documentation":"`parse_client_log_level` (used when creating the Kafka consumer) lowercased the configured client log level and matched it against the accepted values (debug, info, warn/warning, error, critical); none matched. The value comes from the Kafka source parameters (log_level client setting) and is a pure input-validation failure.","triggerScenarios":"`create_consumer` parses the `client_log_level` entry from the source's `client_params` JSON and the value is not one of debug, info, warn/warning, error, critical, alert, or emerg.","commonSituations":"Typo like `trace` or `WARNING` (uppercase) or `debug` misspelled; copying a SLF4J/log4j level name that rdkafka does not support.","solutions":["Use one of the accepted log level values: `debug`, `info`, `warn`, `warning`, `error`, or `critical`","Omit the setting to fall back to the default `info` level"],"exampleFix":"// before\n\"client_params\": { \"client_log_level\": \"trace\" }\n// after\n\"client_params\": { \"client_log_level\": \"debug\" }","handlingStrategy":"validation","validationCode":"const LEVELS = [\"debug\",\"info\",\"warn\",\"warning\",\"error\",\"critical\",\"alert\",\"emerg\"];\nif (!LEVELS.includes(params.client_log_level)) throw new Error(`client_log_level must be one of ${LEVELS}`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Only use rdkafka log level names, lowercase.","Omit client_log_level unless tuning log verbosity.","Keep a config schema/linter for source params."],"tags":["kafka","log-level","invalid-enum-value","configuration"],"backgroundTag":"invalid-enum-value","analyzedSha":"a39730c5cdcd1a4fe798403737ae293999ea21f8","analyzedAt":"2026-09-08T13:19:37.784Z","contentChangedAt":"2026-09-08T13:19:37.784Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}