apache/cassandra · error
Unable to read
Error message
Unable to read {} What it means
SnitchProperties constructor could not load cassandra-rackdc.properties (missing resource on classpath or unreadable cassandra-rackdc.properties URL). Deliberately non-throwing: the snitch falls back to default (empty) properties.
Solutions
- Ensure cassandra-rackdc.properties is present on the classpath (conf/ directory).
- If cassandra-rackdc.properties_url is set, verify the URL is reachable and correct.
- Check file permissions for the cassandra user.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/java/org/apache/cassandra/locator/SnitchProperties.java:60 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/ec94a2050ed5239a.
Report an issue: GitHub.
Appendix: source
Thrown at src/java/org/apache/cassandra/locator/SnitchProperties.java:60
{
properties = new Properties();
InputStream stream = null;
String configURL = CASSANDRA_RACKDC_PROPERTIES.getString();
try
{
URL url;
if (configURL == null)
url = SnitchProperties.class.getClassLoader().getResource(RACKDC_PROPERTY_FILENAME);
else
url = new URL(configURL);
stream = url.openStream(); // catch block handles potential NPE
properties.load(stream);
}
catch (Exception e)
{
// do not throw exception here, just consider this an incomplete or an empty property file.
logger.warn("Unable to read {}", ((configURL != null) ? configURL : RACKDC_PROPERTY_FILENAME));
}
finally
{
FileUtils.closeQuietly(stream);
}
}
@VisibleForTesting
public SnitchProperties(Properties properties)
{
this.properties = properties;
}
@SafeVarargs
public SnitchProperties(Pair<String, String>... pairs)
{
properties = new Properties();
for (Pair<String, String> pair : pairs)View on GitHub (pinned to 88fd0f6a0e)