{"record":{"id":"71de40458183eca5","repo":"apache/cassandra","slug":"invalid-value-s-for-datacenters-s-all-values-m","errorCode":null,"errorMessage":"Invalid value(s) for DATACENTERS '%s',All values must be valid datacenters","messagePattern":"Invalid value\\(s\\) for DATACENTERS '(.+?)',All values must be valid datacenters","errorType":"validation","errorClass":"org.apache.cassandra.exceptions.InvalidRequestException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/auth/DCPermissions.java","lineNumber":100,"sourceCode":"\n        public int hashCode()\n        {\n            return subset.hashCode();\n        }\n\n        public String toString()\n        {\n            StringJoiner joiner = new StringJoiner(\", \");\n            subset.forEach(joiner::add);\n            return joiner.toString();\n        }\n\n        public void validate()\n        {\n            Set<String> unknownDcs = Sets.difference(subset, Datacenters.getValidDatacenters(ClusterMetadata.current()));\n            if (!unknownDcs.isEmpty())\n            {\n                throw new InvalidRequestException(String.format(\"Invalid value(s) for DATACENTERS '%s',\" +\n                                                                \"All values must be valid datacenters\", subset));\n            }\n        }\n    }\n\n    private static final DCPermissions ALL = new DCPermissions()\n    {\n        public boolean canAccess(String dc)\n        {\n            return true;\n        }\n\n        public boolean restrictsAccess()\n        {\n            return false;\n        }\n\n        public Set<String> allowedDCs()","sourceCodeStart":82,"sourceCodeEnd":118,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/auth/DCPermissions.java#L82-L118","documentation":"InvalidRequestException from DCPermissions.validate: the set of datacenter names supplied for a role's DATACENTERS option contains one or more names that are not valid datacenters in the current cluster metadata (Datacenters.getValidDatacenters). The difference set names exactly which values are unknown.","triggerScenarios":"Thrown at src/java/org/apache/cassandra/auth/DCPermissions.java:100 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify datacenter names with nodetool status or cluster metadata and correct typos","Create/enable the intended datacenter before referencing it","Remove decommissioned or renamed datacenters from the role's DATACENTERS option"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}