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

  1. Ensure cassandra-rackdc.properties is present on the classpath (conf/ directory).
  2. If cassandra-rackdc.properties_url is set, verify the URL is reachable and correct.
  3. 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)