{"record":{"id":"f06634ea5a04b50e","repo":"risingwavelabs/risingwave","slug":"invalid-parameter-0","errorCode":null,"errorMessage":"Invalid parameter: {0}","messagePattern":"Invalid parameter: (.+?)","errorType":"error_code","errorClass":"MetaError","httpStatus":null,"severity":"error","filePath":"src/meta/src/error.rs","lineNumber":72,"sourceCode":"        #[from]\n        #[backtrace]\n        HummockError,\n    ),\n\n    #[error(transparent)]\n    RpcError(\n        #[from]\n        #[backtrace]\n        RpcError,\n    ),\n\n    #[error(\"{0}\")]\n    PermissionDenied(String),\n\n    #[error(\"Invalid worker: {0}, {1}\")]\n    InvalidWorker(WorkerId, String),\n\n    #[error(\"Invalid parameter: {0}\")]\n    InvalidParameter(#[message] String),\n\n    // Used for catalog errors.\n    #[error(\"{0} id not found: {1}\")]\n    #[construct(skip)]\n    CatalogIdNotFound(&'static str, String),\n\n    #[error(\"table_fragment does not exist: id={0}\")]\n    FragmentNotFound(FragmentId),\n\n    #[error(\"{0} named {1} already exists{under_creation}\", under_creation = (.2).map(|_| \" and is still being created\").unwrap_or(\"\"))]\n    Duplicated(\n        &'static str,\n        String,\n        // if under creation, take streaming job id, otherwise None\n        Option<JobId>,\n    ),\n","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/meta/src/error.rs#L54-L90","documentation":"A caller passed a parameter that is invalid, malformed, or fails validation in a meta service API. The `#[message]` String carries the specific reason. Generic guard-rail error for bad inputs to meta RPCs and management operations.","triggerScenarios":"Calling meta service methods (DDL wrappers, system parameter setters, scale/worker management APIs) with empty strings, out-of-range values, or malformed identifiers.","commonSituations":"Mistyped connection/property strings in CREATE SOURCE/SINK, invalid worker-group or parallelism values passed to scale APIs, empty parameter in admin tooling.","solutions":["Read the message payload to see which parameter failed and why.","Validate the parameter against RisingWave requirements (length, format, allowed values) before calling.","Correct the client/tool that produced the bad parameter.","Upgrade if the parameter was valid under a different RisingWave version but the accepted range changed."],"exampleFix":"// before\nmeta_client.set_system_param(\"barrier_interval_ms\", \"not-a-number\").await?; // InvalidParameter\n// after\nmeta_client.set_system_param(\"barrier_interval_ms\", \"1000\").await?;","handlingStrategy":"validation","validationCode":"fn validate_param(name: &str, value: &str) -> Result<(), String> {\n    if value.is_empty() { return Err(format!(\"{} must be non-empty\", name)); }\n    Ok(())\n}","typeGuard":null,"tryCatchPattern":"match meta_result {\n    Err(MetaError::InvalidParameter(msg)) => { eprintln!(\"bad parameter: {msg}\"); /* fix input */ }\n    other => other?,\n}","preventionTips":["Validate inputs against documented ranges/formats before calling meta APIs.","Use typed builders/enums instead of raw strings where available.","Copy parameter names from docs or introspection, not from memory."],"tags":["meta","validation","parameters"],"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"}