{"record":{"id":"43859d6d65e79c2d","repo":"risingwavelabs/risingwave","slug":"invalid-manual-compaction-option-0","errorCode":null,"errorMessage":"invalid manual compaction option: {0}","messagePattern":"invalid manual compaction option: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/meta/src/hummock/error.rs","lineNumber":48,"sourceCode":"    #[error(\"failed to access meta store\")]\n    MetaStore(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(transparent)]\n    ObjectStore(\n        #[from]\n        #[backtrace]\n        ObjectError,\n    ),\n    #[error(\"compactor {0} is disconnected\")]\n    CompactorUnreachable(HummockContextId),\n    #[error(\"compaction group error: {0}\")]\n    CompactionGroup(String),\n    #[error(\"SST {0} is invalid\")]\n    InvalidSst(HummockSstableObjectId),\n    #[error(\"invalid manual compaction option: {0}\")]\n    InvalidManualCompactionOption(String),\n    #[error(\"invalid epoch range: {start_epoch}..={end_epoch}\")]\n    InvalidEpochRange { start_epoch: u64, end_epoch: u64 },\n    #[error(\"time-travel version expired: table {table_id}, epoch {epoch}\")]\n    TimeTravelVersionExpired { table_id: TableId, epoch: u64 },\n    #[error(\"time travel\")]\n    TimeTravel(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(transparent)]\n    Internal(\n        #[from]\n        #[backtrace]\n        anyhow::Error,\n    ),\n}","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/meta/src/hummock/error.rs#L30-L66","documentation":"HummockMetaError::InvalidManualCompactionOption wraps validation failures of the options supplied to a manual compaction request. The meta service rejects the request because the provided parameters (e.g. group id, SST id list, epoch range, levels) are empty or logically inconsistent.","triggerScenarios":"Calling trigger_manual_compaction (via RPC or risectl) with options that fail validation, such as an invalid compaction group id or invalid table/SST selection.","commonSituations":"Operator typo in risectl hummock manual-compaction arguments; targeting a compaction group that was renamed/removed; scripting compaction with stale group ids after config changes.","solutions":["Check the manual compaction options: confirm the compaction group id exists (SELECT from hummock compaction groups / risectl list)","Re-run with valid table ids/SST ids that belong to the target group","Use risectl to list current compaction groups and levels before issuing the request","If using scripts, fetch group ids dynamically instead of hardcoding"],"exampleFix":"// before\nrisectl hummock manual-compaction --group 99\n// after (list valid groups first, then use an existing id)\nrisectl hummock list-compaction-group\nrisectl hummock manual-compaction --group 1","handlingStrategy":"validation","validationCode":"let groups = risectl::list_compaction_groups()?;\nassert!(groups.contains(&opts.compaction_group_id), \"unknown compaction group {}\", opts.compaction_group_id);\n","typeGuard":"fn validate_manual_compaction_opts(opts: &ManualCompactionOption) -> Result<(), String> {\n    if opts.compaction_group_id == 0 { Err(\"compaction_group_id must be set\".into()) } else { Ok(()) }\n}\n","tryCatchPattern":"match trigger_manual_compaction(opts).await {\n    Err(e @ HummockMetaError::InvalidManualCompactionOption(_)) => eprintln!(\"bad options: {e}\"),\n    other => other?,\n}\n","preventionTips":["List compaction groups before targeting one","Fetch group ids dynamically, never hardcode","Validate options client-side before sending","Re-check group ids after config/migration changes"],"tags":["rust","hummock","compaction","validation"],"backgroundTag":"invalid-argument-value","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}