apache/cassandra · error · java.lang.IllegalArgumentException

Unknown parameter:

Error message

Unknown parameter: 

What it means

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.

Solutions

  1. Check the valid parameter names with `nodetool help setautorepairconfig` and use exactly those (e.g. repair_max_retries, repair_retry_backoff).
  2. Fix any typo in the --parameter argument.
  3. Verify the parameter exists in the Cassandra version in use; names have changed across releases.

Example fix

// before
nodetool setautorepairconfig --parameter repair_retry_backof --value 30s
// after
nodetool setautorepairconfig --parameter repair_retry_backoff --value 30s
Defensive patterns

Strategy: validation

Validate before calling

const VALID = ['repair_max_retries','repair_retry_backoff'];
if (!VALID.includes(paramType)) throw new Error(`Unknown parameter: ${paramType}; valid: ${VALID.join(', ')}`);

Try / catch

try { probe.setAutoRepair(paramType, value); } catch (IllegalArgumentException e) { if (e.getMessage().startsWith('Unknown parameter')) { printHelp(); } else throw e; }

Prevention

When it happens

Trigger: Running `nodetool setautorepairconfig --parameter unknown_param --value 5` or misspelling a parameter name such as 'repair_retry_backof'.

Common situations: 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.

Understand the failure class

Background: "Unknown argument", "Invalid value", and "must be one of": invalid CLI argument errors explained — this error's family across 35 libraries.

Related errors


AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10). Data as JSON: /api/errors/0b144c7f04ddd2d5. Report an issue: GitHub.

Appendix: source

Thrown at src/java/org/apache/cassandra/tools/nodetool/SetAutoRepairConfig.java:183

                probe.setAutoRepairAllowParallelReplicaRepairAcrossSchedules(repairTypeStr, Boolean.parseBoolean(paramVal));
                break;
            case "materialized_view_repair_enabled":
                probe.setAutoRepairMaterializedViewRepairEnabled(repairTypeStr, Boolean.parseBoolean(paramVal));
                break;
            case "repair_session_timeout":
                probe.setAutoRepairSessionTimeout(repairTypeStr, paramVal);
                break;
            case "repair_by_keyspace":
                probe.setAutoRepairRepairByKeyspace(repairTypeStr, Boolean.parseBoolean(paramVal));
                break;
            case "repair_max_retries":
                probe.setAutoRepairMaxRetriesCount(repairTypeStr, Integer.parseInt(paramVal));
                break;
            case "repair_retry_backoff":
                probe.setAutoRepairRetryBackoff(repairTypeStr, paramVal);
                break;
            default:
                throw new IllegalArgumentException("Unknown parameter: " + paramType);
        }
    }
}

View on GitHub (pinned to 88fd0f6a0e)