apache/cassandra · critical · ConfigurationException
Initial location provider rejected registration location, pl
Error message
Initial location provider rejected registration location, please check the system log for errors
What it means
SnitchAdapter bridges the configured IEndpointSnitch to the initial location provider used during node registration. During startup, the snitch's validate() is called with the set of all datacenters and racks known in schema metadata; if the snitch rejects them (e.g. it cannot place this node in a known DC/rack), a ConfigurationException with this generic message is thrown, with details written to the system log.
Source
Thrown at src/java/org/apache/cassandra/locator/SnitchAdapter.java:53
{
this.snitch = snitch;
}
@Override
public Location initialLocation()
{
return new Location(snitch.getLocalDatacenter(), snitch.getLocalRack());
}
@Override
public void validate(ClusterMetadata metadata)
{
Set<String> datacenters = metadata.directory.allDatacenterRacks().keySet();
Set<String> racks = new HashSet<>();
for (String dc : datacenters)
racks.addAll(metadata.directory.datacenterRacks(dc).keySet());
if (!snitch.validate(datacenters, racks))
throw new ConfigurationException("Initial location provider rejected registration location, " +
"please check the system log for errors");
}
@Override
public <C extends ReplicaCollection<? extends C>> C sortedByProximity(InetAddressAndPort address, C addresses)
{
return snitch.sortedByProximity(address, addresses);
}
@Override
public int compareEndpoints(InetAddressAndPort target, Replica r1, Replica r2)
{
return snitch.compareEndpoints(target, r1, r2);
}
@Override
public boolean isWorthMergingForRangeQuery(ReplicaCollection<?> merged, ReplicaCollection<?> l1, ReplicaCollection<?> l2)
{View on GitHub (pinned to 88fd0f6a0e)
Solutions
- Check the system log lines preceding the exception for the snitch's specific validation error
- Ensure the local snitch config (cassandra-rackdc.properties / cassandra-topology.properties) declares dc/rack names matching the cluster's datacenters
- Restart Cassandra after correcting the snitch configuration
Example fix
// before (cassandra-rackdc.properties) dc=DataCenter1 // cluster uses 'dc1' // after dc=dc1 rack=rack1
Defensive patterns
Strategy: validation
Validate before calling
Set<String> knownDcs = schema.getAllDatacenters();
String localDc = readFromRackdcProperties("dc");
String localRack = readFromRackdcProperties("rack");
if (!knownDcs.isEmpty() && !knownDcs.contains(localDc))
throw new IllegalStateException("Local dc '" + localDc + "' not among cluster DCs " + knownDcs); Try / catch
try { startNode(); }
catch (ConfigurationException e) { if (e.getMessage().contains("rejected registration location")) { /* read system log for snitch detail, fix config, restart */ } } Prevention
- Use identical dc/rack naming conventions across the cluster
- Validate snitch files against cluster DC names before rolling restarts
- Avoid changing snitch class and location files without a coordinated plan
When it happens
Trigger: Node startup/registration when the snitch (e.g. property-file or dynamic snitch wrapper) cannot reconcile this node's location (from cassandra-rackdc.properties or cassandra-topology.properties) with the DCs/racks registered in the cluster metadata.
Common situations: Mismatch between the local snitch config values and the DC names used by the rest of the cluster; changing snitch classes without aligning dc/rack names; malformed rackdc/topology files causing the snitch to log errors and fail validation.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- Configuration must specify either node_proximity and initial
- Snitch metadata service URL '%s' is invalid. Please review s
- %s as value of %s is invalid duration! %s
- No metadata server could be found in lease file.
- %s has authorization enabled which requires %s to enable aut
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/bb3b8da48ea0a9b7.
Report an issue: GitHub.