apache/cassandra · warning
use_deterministic_table_id is no longer supported and should
Error message
use_deterministic_table_id is no longer supported and should be removed from cassandra.yaml.
What it means
A warning logged when use_deterministic_table_id is present/enabled in cassandra.yaml. The option is no longer supported (its behavior was made default/removed in later Cassandra versions); Cassandra tells the operator to remove the key. Startup proceeds; the setting has no effect.
Source
Thrown at src/java/org/apache/cassandra/config/DatabaseDescriptor.java:1275
conf.progress_barrier_min_consistency_level, progressBarrierCLsArr));
}
if (!progressBarrierCls.contains(conf.progress_barrier_default_consistency_level))
{
throw new ConfigurationException(String.format("Invalid value for.progress_barrier_default_consistency_level %s. Allowed values: %s",
conf.progress_barrier_default_consistency_level, progressBarrierCLsArr));
}
if (conf.native_transport_min_backoff_on_queue_overload.toMilliseconds() <= 0)
throw new ConfigurationException(" be positive");
if (conf.native_transport_min_backoff_on_queue_overload.toMilliseconds() >= conf.native_transport_max_backoff_on_queue_overload.toMilliseconds())
throw new ConfigurationException(String.format("native_transport_min_backoff_on_queue_overload should be strictly less than native_transport_max_backoff_on_queue_overload, but %s >= %s",
conf.native_transport_min_backoff_on_queue_overload,
conf.native_transport_max_backoff_on_queue_overload));
if (conf.use_deterministic_table_id)
logger.warn("use_deterministic_table_id is no longer supported and should be removed from cassandra.yaml.");
// run audit logging options through sanitation and validation
if (conf.audit_logging_options != null)
setAuditLoggingOptions(conf.audit_logging_options);
try
{
// Run through the validation by setting current values back to their setters, so we are sure that their values are valid.
// We are catching IllegalArgumentException and translating it to ConfigurationException to comply with
// rest of the logic in this method. These setters are also called in GCInspectorMXBean were IllegalArgumentException
// is thrown when arguments are invalid instead ConfigurationException, on purpose.
DatabaseDescriptor.setGCLogThreshold((int) DatabaseDescriptor.getGCLogThreshold());
DatabaseDescriptor.setGCWarnThreshold((int) DatabaseDescriptor.getGCWarnThreshold());
DatabaseDescriptor.setGCConcurrentPhaseLogThreshold(DatabaseDescriptor.getGCConcurrentPhaseLogThreshold());
DatabaseDescriptor.setGCConcurrentPhaseWarnThreshold(DatabaseDescriptor.getGCConcurrentPhaseWarnThreshold());
}
catch (IllegalArgumentException ex)
{View on GitHub (pinned to 88fd0f6a0e)
Solutions
- Remove the use_deterministic_table_id line from cassandra.yaml and restart.
Example fix
// cassandra.yaml before use_deterministic_table_id: true // after # use_deterministic_table_id removed - no longer supported
Defensive patterns
Strategy: validation
Validate before calling
if (yamlConfig.containsKey("use_deterministic_table_id")) {
throw new IllegalStateException("use_deterministic_table_id is no longer supported; remove it from cassandra.yaml");
} Prevention
- Prune removed options when upgrading Cassandra versions
- Check the release notes / NEWS.txt for removed yaml settings before rolling upgrades
- Automate a startup-log warning scan post-deploy
When it happens
Trigger: Starting a node with use_deterministic_table_id: true (or the key present and true) in cassandra.yaml; applySimpleConfig logs the warning during applyAll/toolInitialization.
Common situations: Upgraded configs retaining the flag from older Cassandra branches (it was used historically for deterministic table UUID generation); config templates shared between clusters on different versions.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- memtable_cleanup_threshold has been deprecated and should be
- data_file_directories must not contain empty entry
- Invalid yaml. Please remove properties <missingProperties> f
- Configuration entry %s can not inherit itself.
- Configuration entry %s inherits non-existing entry %s.
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/297d5f295b42c914.
Report an issue: GitHub.