{"record":{"id":"54da7b4aa8cc78dd","repo":"apache/cassandra","slug":"invalid-yaml-please-remove-properties-missingpro","errorCode":null,"errorMessage":"Invalid yaml. Please remove properties <missingProperties> from your cassandra.yaml","messagePattern":"Invalid yaml\\. Please remove properties <missingProperties> from your cassandra\\.yaml","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/config/YamlConfigurationLoader.java","lineNumber":560,"sourceCode":"                Property prop = getFlatProperty(type, s);\n                if (prop instanceof MissingProperty)\n                {\n                    root = null;\n                    break;\n                }\n                root = root == null ? prop : Properties.andThen(root, prop);\n                type = root.getType();\n            }\n            return root != null ? root : new MissingProperty(name);\n        }\n\n        public void check() throws ConfigurationException\n        {\n            if (!nullProperties.isEmpty())\n                throw new ConfigurationException(\"Invalid yaml. Those properties \" + nullProperties + \" are not valid\", false);\n\n            if (!missingProperties.isEmpty())\n                throw new ConfigurationException(\"Invalid yaml. Please remove properties \" + missingProperties + \" from your cassandra.yaml\", false);\n\n            if (!deprecationWarnings.isEmpty())\n                logger.warn(\"{} parameters have been deprecated. They have new names and/or value format; For more information, please refer to NEWS.txt\", deprecationWarnings);\n        }\n    }\n\n    public static LoaderOptions getDefaultLoaderOptions()\n    {\n        LoaderOptions loaderOptions = new LoaderOptions();\n        loaderOptions.setCodePointLimit(64 * 1024 * 1024); // 64 MiB\n        loaderOptions.setWarnOnDuplicateKeys(false);\n        return loaderOptions;\n    }\n}\n","sourceCodeStart":542,"sourceCodeEnd":575,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java#L542-L575","documentation":"PropertiesChecker.check() throws this when missingProperties is non-empty: these are yaml properties that no longer exist in the current Config schema (removed or renamed in this Cassandra version) and must be deleted from cassandra.yaml. It is distinct from nullProperties (352): these keys are recognized as once-valid but now absent from the schema.","triggerScenarios":"Loading a cassandra.yaml carried forward from an older Cassandra release that still contains deprecated/removed keys, triggering loadConfig's PropertiesChecker; also any config map supplied to the loader containing removed properties.","commonSituations":"In-place upgrade 4.0 -> 4.1/5.0 where many settings were renamed or moved into maps; copying cassandra.yaml from an old AMI/pod image; keeping cluster-wide settings that moved to cassandra-topology.properties or new nested structures.","solutions":["Remove the listed properties from cassandra.yaml as the message instructs","Consult NEWS.txt / the Replacement annotations for the new names of the removed keys and substitute them","Re-baseline your cassandra.yaml against the shipped conf/cassandra.yaml of the target version","Migrate removed per-key settings to their new locations (e.g. table-level options moved to schema maps)"],"exampleFix":"// before (cassandra.yaml, upgraded from 4.0)\nmemtable_allocation_type: heap_buffers\nindex_summary_resize_interval_in_minutes: 60\n// after\nmemtable_allocation_type: heap_buffers","handlingStrategy":"validation","validationCode":"// before upgrade, scan for removed keys\nList<String> removed = List.of(\"index_summary_resize_interval_in_minutes\");\nString yaml = java.nio.file.Files.readString(Path.of(\"cassandra.yaml\"));\nremoved.stream().filter(yaml::contains)\n    .forEach(k -> System.err.println(\"Deprecated key to remove/migrate: \" + k));","typeGuard":null,"tryCatchPattern":"try {\n    config = loader.loadConfig(url);\n} catch (ConfigurationException e) {\n    if (e.getMessage().contains(\"Please remove properties\"))\n        log.error(\"Removed yaml keys must be migrated: \" + e.getMessage());\n    throw e;\n}","preventionTips":["Re-baseline cassandra.yaml against the new version's conf template on every upgrade","Track NEWS.txt for key removals/renames","Keep environment-specific overrides free of stale keys","Test config load on a staging node before cluster-wide rollout"],"tags":["yaml","configuration","deprecation"],"backgroundTag":"schema-validation-failed","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}