{"record":{"id":"78aaa3c13dc980d4","repo":"apache/cassandra","slug":"unknown-table-s-s","errorCode":null,"errorMessage":"Unknown table %s.%s","messagePattern":"Unknown table (.+?)\\.(.+?)","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java","lineNumber":432,"sourceCode":"                                                              COMMIT_LOG_REPLAY_LIST.getKey(),\n                                                              String.join(\".\", pair)));\n\n                String keyspaceName = pair[0];\n\n                Keyspace ks = Schema.instance.getKeyspaceInstance(keyspaceName);\n                if (ks == null)\n                    throw new IllegalArgumentException(\"Unknown keyspace \" + keyspaceName);\n\n                if (pair.length == 1)\n                {\n                    for (ColumnFamilyStore cfs : ks.getColumnFamilyStores())\n                        toReplay.put(keyspaceName, cfs.name);\n                }\n                else\n                {\n                    ColumnFamilyStore cfs = ks.getColumnFamilyStore(pair[1]);\n                    if (cfs == null)\n                        throw new IllegalArgumentException(format(\"Unknown table %s.%s\", keyspaceName, pair[1]));\n\n                    toReplay.put(keyspaceName, pair[1]);\n                }\n            }\n\n            if (toReplay.isEmpty())\n                logger.info(\"All tables will be included in commit log replay.\");\n            else\n                logger.info(\"Tables to be replayed: {}\", toReplay.asMap().toString());\n\n            return new CustomReplayFilter(toReplay);\n        }\n    }\n\n    private static class AlwaysReplayFilter extends ReplayFilter\n    {\n        public Iterable<PartitionUpdate> filter(Mutation mutation)\n        {","sourceCodeStart":414,"sourceCodeEnd":450,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java#L414-L450","documentation":"CommitLogReplayer.create() validates the table portion of a replay filter pair. The keyspace exists, but ks.getColumnFamilyStore(pair[1]) returns null, so create() throws IllegalArgumentException(\"Unknown table ks.tbl\"). The replay list must reference a table that exists in the node's schema.","triggerScenarios":"Passing 'keyspace:table' in the commitlog replay filter where the table does not exist in that keyspace (dropped, renamed, or mistyped).","commonSituations":"Table dropped or renamed between crash and replay; typo in table name; specifying a table in a different keyspace; case mismatch on unquoted identifiers.","solutions":["Verify the table name with DESCRIBE TABLES in the keyspace and correct the replay filter string.","Restore the table schema before replaying commit logs.","Use just the keyspace name (no :table) if replaying all its tables is acceptable.","Check casing: unquoted table names are lowercased."],"exampleFix":"// before\n-Dcassandra.commitlog_replay_files=ks1:Standrd1\n// after\n-Dcassandra.commitlog_replay_files=ks1:standard1","handlingStrategy":"validation","validationCode":"Keyspace ks = Schema.instance.getKeyspaceInstance(ksName);\nif (ks != null && ks.getColumnFamilyStore(tblName) == null)\n    throw new IllegalArgumentException(\"Table not found before replay: \" + ksName + \".\" + tblName);","typeGuard":null,"tryCatchPattern":"try {\n    CommitLogReplayer.create(...);\n} catch (IllegalArgumentException e) {\n    if (e.getMessage().startsWith(\"Unknown table\"))\n        logger.error(\"Replay filter references missing table: {}\", e.getMessage());\n    throw e;\n}","preventionTips":["Verify table names with DESCRIBE TABLES before writing replay filters","Favor keyspace-only entries when whole-keyspace replay is acceptable","Watch for dropped/renamed tables between crash and replay"],"tags":["commitlog","replay","table","startup"],"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"}