{"record":{"id":"bed6d9e18d925710","repo":"apache/cassandra","slug":"used-sytem-property-variable-to-override-cassan","errorCode":null,"errorMessage":"Used sytem property variable {} to override Cassandra configuration but there is no such system property counter-part to override.","messagePattern":"Used sytem property variable (.+?) to override Cassandra configuration but there is no such system property counter-part to override\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"src/java/org/apache/cassandra/config/YamlConfigurationLoader.java","lineNumber":212,"sourceCode":"            Map<String, Object> overridingProperties = new HashMap<>();\n            for (String originalKey : orderedPropertiesMap.keySet())\n            {\n                if (originalKey.startsWith(SYSTEM_PROPERTY_PREFIX))\n                {\n                    String value = props.getProperty(originalKey);\n                    String configKey = originalKey.replace(SYSTEM_PROPERTY_PREFIX, \"\");\n                    if (OVERRIDABLE_CONFIG_NAMES.contains(configKey))\n                    {\n                        if (value != null && !overridingProperties.containsKey(configKey))\n                        {\n                            if (!DatabaseDescriptor.hasLoggedConfig()) // CASSANDRA-9909: Avoid flooding config during initialization\n                                logger.warn(\"Detected JVM property {}={} override for Cassandra configuration '{}'.\", originalKey, value, configKey);\n                            overridingProperties.put(configKey, getScalarOrJsonTree(value));\n                        }\n                    }\n                    else\n                    {\n                        logger.warn(\"Used sytem property variable {} to override Cassandra configuration but there is no such system property counter-part to override.\", originalKey);\n                    }\n                }\n            }\n            if (!overridingProperties.isEmpty())\n                updateFromMap(maybeFlattenNestedProperties(overridingProperties), false, obj);\n        }\n    }\n\n    private static void maybeAddEnvironmentVariables(Object obj)\n    {\n        if (CONFIG_ALLOW_ENVIRONMENT_VARIABLES.getBoolean(CASSANDRA_ALLOW_CONFIG_ENVIRONMENT_VARIABLES.getBooleanOrDefault(false)))\n        {\n            Map<String, String> orderedEnvironmentMap = new TreeMap<>(System.getenv()); // checkstyle: suppress nearby 'blockSystemPropertyUsage'\n            Map<String, Object> overridingProperties = new HashMap<>();\n            for (Map.Entry<String, String> env : orderedEnvironmentMap.entrySet())\n            {\n                String originalKey = env.getKey();\n                if (env.getKey().startsWith(ENVIRONMENT_VARIABLE_PREFIX))","sourceCodeStart":194,"sourceCodeEnd":230,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java#L194-L230","documentation":"Warning from YamlConfigurationLoader when a cassandra.-prefixed JVM system property does not correspond to any known overridable configuration key (not in OVERRIDABLE_CONFIG_NAMES). The property is ignored for config purposes, so the user's intended override silently does nothing (note the pre-existing 'sytem' typo in the message).","triggerScenarios":"Passing -Dcassandra.<typo-or-unknown-key>=<value> at startup, e.g. -Dcassandra.commitlog_sync_periond_ms or -Dcassandra.some_renamed_setting after a config key was renamed across versions.","commonSituations":"Typos in JVM options; following outdated documentation/blogs after a config setting was renamed or removed in an upgrade; copy-pasting options from another Cassandra version; settings that were never overridable via system properties.","solutions":["Fix the property name to match a valid overridable config key (check the current version's cassandra.yaml / Configuration class).","Move the setting into cassandra.yaml if it is a valid config key but not in the overridable list.","After upgrades, verify renamed/removed settings against the release notes and update startup scripts.","Watch for this warning at startup — it means your override is being ignored entirely."],"exampleFix":"// before\ncassandra-env.sh: JVM_OPTS=\"$JVM_OPTS -Dcassandra.commitlog_sync_periond_ms=1000\"\n// after\ncassandra-env.sh: JVM_OPTS=\"$JVM_OPTS -Dcassandra.commitlog_sync_period_in_ms=1000\"","handlingStrategy":"validation","validationCode":"# verify the key exists before using it as a -D override\ngrep -q \"^${key}:\" conf/cassandra.yaml || echo \"unknown config key: $key\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate property names against the current version's cassandra.yaml (keys get renamed across releases).","Never ignore this startup warning — it means the override is silently dropped.","After upgrades, diff your -D flags against release notes."],"tags":["configuration","jvm","system-properties","typo"],"backgroundTag":"invalid-config-value","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}