{"record":{"id":"fdd4b325ff687a83","repo":"apache/cassandra","slug":"invalidate-cidr-permissions-cache-operation-not-su","errorCode":null,"errorMessage":"Invalidate CIDR permissions cache operation not supported by %s","messagePattern":"Invalidate CIDR permissions cache operation not supported by (.+?)","errorType":"exception","errorClass":"InvalidRequestException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/auth/AllowAllCIDRAuthorizer.java","lineNumber":52,"sourceCode":"        commonSetup();\n    }\n\n    @Override\n    public void initCaches()\n    {\n        // Caches not created when CIDR authorization is disabled\n    }\n\n    @Override\n    public boolean requireAuthorization()\n    {\n        return false;\n    }\n\n    @Override\n    public boolean invalidateCidrPermissionsCache(String roleName)\n    {\n        throw new InvalidRequestException(\"Invalidate CIDR permissions cache operation not supported by \" + getClass().getSimpleName());\n    }\n\n    @Override\n    public void loadCidrGroupsCache()\n    {\n        throw new InvalidRequestException(\"Load CIDR groups cache operation not supported by \" + getClass().getSimpleName());\n    }\n\n    @Override\n    public Set<String> lookupCidrGroupsForIp(InetAddress ip)\n    {\n        throw new InvalidRequestException(\"'Get CIDR groups for IP' operation not supported by \" + getClass().getSimpleName());\n    }\n\n    @Override\n    public boolean hasAccessFromIp(RoleResource role, InetAddress ipAddress)\n    {\n        // Allow all accesses","sourceCodeStart":34,"sourceCodeEnd":70,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/auth/AllowAllCIDRAuthorizer.java#L34-L70","documentation":"Thrown by CreateTypeStatement.apply when a field of the new user-defined type is an unfrozen UDT. Nested user types must be frozen because non-frozen UDT columns cannot be nested within other types; the inner type must be embedded as a fixed, immutable serialized value within the outer type.","triggerScenarios":"Executing 'CREATE TYPE ks.outer (inner inner_type, ...)' where inner_type is a UDT declared without the frozen<> modifier, i.e. type.isUD() && !type.isFrozen().","commonSituations":"Defining nested UDTs by copying the syntax of top-level UDT columns; migrating schemas from versions where frozen was optional; hand-written DDL omitting frozen<> for nested types.","solutions":["Wrap the nested UDT in frozen<>: declare the field as 'frozen<inner_type>'.","Re-run the CREATE TYPE after correcting the field type declaration."],"exampleFix":"// before\nCREATE TYPE ks.person (address address, name text);\n// after\nCREATE TYPE ks.person (address frozen<address>, name text);","handlingStrategy":"validation","validationCode":"if (isUdt(fieldType) && !fieldType.startsWith(\"frozen<\"))\n    fieldType = \"frozen<\" + fieldType + \">\";","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always wrap nested UDTs in frozen<> in CREATE TYPE fields.","When porting schemas from Cassandra 2.x/3.x, add frozen<> to nested UDT references.","Document UDT nesting rules in schema style guides."],"tags":["cassandra","cql","ddl","user-type","frozen"],"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"}