{"record":{"id":"8d64758be09a86f4","repo":"apache/cassandra","slug":"unknown-table-tblname-in-keyspace-ksname","errorCode":null,"errorMessage":"Unknown table '{tblName}' in keyspace '{ksName}'","messagePattern":"Unknown table '(.+?)' in keyspace '(.+?)'","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/service/StorageService.java","lineNumber":5614,"sourceCode":"    {\n        return PaxosCommit.getEnableDcLocalCommit();\n    }\n\n    public void setPaxosDcLocalCommitEnabled(boolean enabled)\n    {\n        PaxosCommit.setEnableDcLocalCommit(enabled);\n        logger.info(\"paxos dc local commit {} via jmx\", enabled ? \"enabled\" : \"disabled\");\n    }\n\n    public String getPaxosBallotLowBound(String ksName, String tblName, String key)\n    {\n        Keyspace keyspace = Keyspace.open(ksName);\n        if (keyspace == null)\n            throw new IllegalArgumentException(\"Unknown keyspace '\" + ksName + \"'\");\n\n        ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(tblName);\n        if (cfs == null)\n            throw new IllegalArgumentException(\"Unknown table '\" + tblName + \"' in keyspace '\" + ksName + \"'\");\n\n        TableMetadata table = cfs.metadata.get();\n        DecoratedKey dk = table.partitioner.decorateKey(table.partitionKeyType.fromString(key));\n        return cfs.getPaxosRepairHistory().ballotForToken(dk.getToken()).toString();\n    }\n\n    public Long getRepairRpcTimeout()\n    {\n        return DatabaseDescriptor.getRepairRpcTimeout(MILLISECONDS);\n    }\n\n    public void setRepairRpcTimeout(Long timeoutInMillis)\n    {\n        checkState(timeoutInMillis > 0);\n        DatabaseDescriptor.setRepairRpcTimeout(timeoutInMillis);\n        logger.info(\"RepairRpcTimeout set to {}ms via JMX\", timeoutInMillis);\n    }\n    public void evictHungRepairs()","sourceCodeStart":5596,"sourceCodeEnd":5632,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/service/StorageService.java#L5596-L5632","documentation":"IllegalArgumentException from StorageService.getPaxosBallotLowBound when the requested table does not exist in the given keyspace. The keyspace was resolved (it exists), but ColumnFamilyStore lookup returned nothing for tblName, so the JMX call for a paxos ballot low bound is rejected.","triggerScenarios":"Calling getPaxosBallotLowBound with a table name not present in the named keyspace, or a dropped/renamed table.","commonSituations":"Typo in table name; table renamed after a migration; querying a table that exists in another keyspace; case mismatch (quoted vs unquoted identifiers).","solutions":["List tables with `DESCRIBE TABLES` / `SELECT table_name FROM system_schema.tables WHERE keyspace_name = '...'` and correct the table name.","Verify identifier casing matches the CREATE TABLE statement.","If the table was dropped/renamed, point the call at the new table name."],"exampleFix":"// before\nString ballot = ssProxy.getPaxosBallotLowBound(\"ks\", \"MyTable\", key); // table is actually 'mytable'\n// after\nString ballot = ssProxy.getPaxosBallotLowBound(\"ks\", \"mytable\", key);","handlingStrategy":"validation","validationCode":"KeyspaceMetadata ks = Schema.instance.getKeyspaceMetadata(ksName);\nif (ks == null || ks.tables.get(tblName) == null) throw new IllegalArgumentException(\"table \" + tblName + \" not found in \" + ksName);","typeGuard":null,"tryCatchPattern":"try { return ssProxy.getPaxosBallotLowBound(ksName, tblName, key); }\ncatch (IllegalArgumentException e) { if (e.getMessage().contains(\"Unknown table\")) { /* correct table name */ } throw e; }","preventionTips":["List tables per keyspace from system_schema.tables before calling","Use bare table names with exact casing","Watch for table renames during migrations"],"tags":["cassandra","table-not-found","jmx","invalid-argument"],"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"}