{"record":{"id":"0b144c7f04ddd2d5","repo":"apache/cassandra","slug":"unknown-parameter","errorCode":null,"errorMessage":"Unknown parameter: ","messagePattern":"Unknown parameter: ","errorType":"validation","errorClass":"java.lang.IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/tools/nodetool/SetAutoRepairConfig.java","lineNumber":183,"sourceCode":"                probe.setAutoRepairAllowParallelReplicaRepairAcrossSchedules(repairTypeStr, Boolean.parseBoolean(paramVal));\n                break;\n            case \"materialized_view_repair_enabled\":\n                probe.setAutoRepairMaterializedViewRepairEnabled(repairTypeStr, Boolean.parseBoolean(paramVal));\n                break;\n            case \"repair_session_timeout\":\n                probe.setAutoRepairSessionTimeout(repairTypeStr, paramVal);\n                break;\n            case \"repair_by_keyspace\":\n                probe.setAutoRepairRepairByKeyspace(repairTypeStr, Boolean.parseBoolean(paramVal));\n                break;\n            case \"repair_max_retries\":\n                probe.setAutoRepairMaxRetriesCount(repairTypeStr, Integer.parseInt(paramVal));\n                break;\n            case \"repair_retry_backoff\":\n                probe.setAutoRepairRetryBackoff(repairTypeStr, paramVal);\n                break;\n            default:\n                throw new IllegalArgumentException(\"Unknown parameter: \" + paramType);\n        }\n    }\n}\n","sourceCodeStart":165,"sourceCodeEnd":187,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/tools/nodetool/SetAutoRepairConfig.java#L165-L187","documentation":"nodetool setautorepairconfig rejects any parameter name other than the recognized auto-repair settings (e.g. repair_max_retries, repair_retry_backoff). The command parses a --parameter value pair and throws IllegalArgumentException in the default branch of the switch when the parameter name is unrecognized.","triggerScenarios":"Running `nodetool setautorepairconfig --parameter unknown_param --value 5` or misspelling a parameter name such as 'repair_retry_backof'.","commonSituations":"Typos in parameter names, copying parameters from older Cassandra versions that renamed the settings, or guessing parameter names from documentation for a different Cassandra version.","solutions":["Check the valid parameter names with `nodetool help setautorepairconfig` and use exactly those (e.g. repair_max_retries, repair_retry_backoff).","Fix any typo in the --parameter argument.","Verify the parameter exists in the Cassandra version in use; names have changed across releases."],"exampleFix":"// before\nnodetool setautorepairconfig --parameter repair_retry_backof --value 30s\n// after\nnodetool setautorepairconfig --parameter repair_retry_backoff --value 30s","handlingStrategy":"validation","validationCode":"const VALID = ['repair_max_retries','repair_retry_backoff'];\nif (!VALID.includes(paramType)) throw new Error(`Unknown parameter: ${paramType}; valid: ${VALID.join(', ')}`);","typeGuard":null,"tryCatchPattern":"try { probe.setAutoRepair(paramType, value); } catch (IllegalArgumentException e) { if (e.getMessage().startsWith('Unknown parameter')) { printHelp(); } else throw e; }","preventionTips":["List accepted parameters via nodetool help before scripting","Copy parameter names from the version's official docs, not older versions"],"tags":["nodetool","cli","validation"],"backgroundTag":"invalid-cli-argument","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}