{"record":{"id":"35a0c889174ef166","repo":"apache/cassandra","slug":"get-cidr-groups-for-ip-operation-not-supported-b","errorCode":null,"errorMessage":"'Get CIDR groups for IP' operation not supported by %s","messagePattern":"'Get CIDR groups for IP' operation not supported by (.+?)","errorType":"exception","errorClass":"InvalidRequestException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/auth/AllowAllCIDRAuthorizer.java","lineNumber":64,"sourceCode":"        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\n        return true;\n    }\n}\n","sourceCodeStart":46,"sourceCodeEnd":74,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/auth/AllowAllCIDRAuthorizer.java#L46-L74","documentation":"Thrown by CreateViewStatement.apply when the keyspace containing (or targeted for) the materialized view does not exist in the cluster schema. Like other schema DDL, the view statement resolves its parent keyspace from ClusterMetadata and rejects the request if it is absent.","triggerScenarios":"Executing 'CREATE MATERIALIZED VIEW ks.mv AS SELECT ... FROM ks.base ...' where ks does not exist, was dropped, or the name does not case-sensitively match an existing keyspace.","commonSituations":"Typos in the keyspace qualifier; running DDL against the wrong environment/cluster; a concurrent DROP KEYSPACE; migrations assuming the keyspace was created in an earlier step that failed.","solutions":["Verify the keyspace exists via 'DESCRIBE KEYSPACES' or system_schema.keyspaces.","Create the keyspace (and base table) before the materialized view statement.","Fix the keyspace name/casing in the CREATE MATERIALIZED VIEW statement.","Confirm the client is connected to the intended cluster."],"exampleFix":"// before\nCREATE MATERIALIZED VIEW ordervals.mv AS SELECT ...\n// after\nCREATE KEYSPACE IF NOT EXISTS ordervals WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};\nCREATE MATERIALIZED VIEW ordervals.mv AS SELECT ...","handlingStrategy":"validation","validationCode":"if (session.execute(\"SELECT keyspace_name FROM system_schema.keyspaces WHERE keyspace_name = ?\", ks).one() == null)\n    throw new IllegalStateException(\"Keyspace missing: \" + ks);","typeGuard":"boolean keyspaceExists(Session s, String ks) {\n    return s.execute(\"SELECT keyspace_name FROM system_schema.keyspaces WHERE keyspace_name = ?\", ks).one() != null;\n}","tryCatchPattern":"try {\n    session.execute(createMvStmt);\n} catch (InvalidQueryException e) {\n    if (e.getMessage().contains(\"Keyspace\") && e.getMessage().contains(\"doesn't exist\")) { createKeyspace(); retry(createMvStmt); }\n    else throw e;\n}","preventionTips":["Run CREATE KEYSPACE and CREATE TABLE steps before MV creation in ordered migrations.","Use fully-qualified, consistently-cased keyspace names.","Verify the target cluster/environment before deploying DDL."],"tags":["cassandra","cql","materialized-view","ddl","schema"],"backgroundTag":"resource-not-found","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"}