{"record":{"id":"aecde78f12b4d7e5","repo":"quickwit-oss/quickwit","slug":"wait-and-force-are-mutually-exclusive-opti","errorCode":null,"errorMessage":"`--wait` and `--force` are mutually exclusive options","messagePattern":"`--wait` and `--force` are mutually exclusive options","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"quickwit/quickwit-cli/src/index.rs","lineNumber":393,"sourceCode":"            .expect(\"`index` should be a required arg\");\n        let input_path_opt = if let Some(input_path) = matches.remove_one::<String>(\"input-path\") {\n            Uri::from_str(&input_path)?\n                .filepath()\n                .map(|path| path.to_path_buf())\n        } else {\n            None\n        };\n        let detailed_response: bool = matches.get_flag(\"detailed-response\");\n        let batch_size_limit_opt = matches\n            .remove_one::<String>(\"batch-size-limit\")\n            .map(|limit| limit.parse::<ByteSize>())\n            .transpose()\n            .map_err(|error| anyhow!(error))?;\n        let commit_type = match (matches.get_flag(\"wait\"), matches.get_flag(\"force\")) {\n            (false, false) => CommitType::Auto,\n            (false, true) => CommitType::Force,\n            (true, false) => CommitType::WaitFor,\n            (true, true) => bail!(\"`--wait` and `--force` are mutually exclusive options\"),\n        };\n\n        if commit_type == CommitType::Auto && client_args.commit_timeout.is_some() {\n            bail!(\"`--commit-timeout` can only be used with --wait or --force options\");\n        }\n\n        Ok(Self::Ingest(IngestDocsArgs {\n            client_args,\n            index_id,\n            input_path_opt,\n            batch_size_limit_opt,\n            commit_type,\n            detailed_response,\n        }))\n    }\n\n    fn parse_search_args(mut matches: ArgMatches) -> anyhow::Result<Self> {\n        let index_id = matches","sourceCodeStart":375,"sourceCodeEnd":411,"githubUrl":"https://github.com/quickwit-oss/quickwit/blob/a39730c5cdcd1a4fe798403737ae293999ea21f8/quickwit/quickwit-cli/src/index.rs#L375-L411","documentation":"Argument validation in `parse_ingest_args` detected that both `--wait` and `--force` were passed on the `quickwit index ingest` command line. These flags express contradictory ingest commit policies (block until committed vs. fire-and-forget), so the guard rejects the combination before any ingest starts.","triggerScenarios":"Thrown at quickwit/quickwit-cli/src/index.rs:393 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Keep only `--wait` if you want ingest to block until documents are committed","Keep only `--force` if you want ingest to proceed without waiting for commits","Drop both flags to use the default behavior"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a39730c5cdcd1a4fe798403737ae293999ea21f8","analyzedAt":"2026-09-08T13:19:37.784Z","contentChangedAt":"2026-09-08T13:19:37.784Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}