{"record":{"id":"f2ac92e4f0551055","repo":"apache/cassandra","slug":"s-property-contains-an-item-which-is-not-in-forma","errorCode":null,"errorMessage":"%s property contains an item which is not in format 'keyspace' or 'keyspace.table' but it is '%s'","messagePattern":"(.+?) property contains an item which is not in format 'keyspace' or 'keyspace\\.table' but it is '(.+?)'","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java","lineNumber":411,"sourceCode":"         * */\n        public static ReplayFilter create()\n        {\n            String replayList = COMMIT_LOG_REPLAY_LIST.getString();\n\n            if (replayList == null)\n                return new AlwaysReplayFilter();\n\n            Multimap<String, String> toReplay = HashMultimap.create();\n            for (String rawPair : replayList.split(\",\"))\n            {\n                String trimmedRawPair = rawPair.trim();\n                if (trimmedRawPair.isEmpty() || trimmedRawPair.endsWith(\".\"))\n                    throw new IllegalArgumentException(format(\"Invalid pair: '%s'\", trimmedRawPair));\n\n                String[] pair = StringUtils.split(trimmedRawPair, '.');\n\n                if (pair.length > 2)\n                    throw new IllegalArgumentException(format(\"%s property contains an item which \" +\n                                                              \"is not in format 'keyspace' or 'keyspace.table' \" +\n                                                              \"but it is '%s'\",\n                                                              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                {","sourceCodeStart":393,"sourceCodeEnd":429,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java#L393-L429","documentation":"While parsing the cassandra.commitlog_replay_list in CommitLogReplayer.create, each entry is split on '.'. An entry producing more than two parts is neither a bare keyspace nor a keyspace.table pair, so IllegalArgumentException '%s property contains an item which is not in format keyspace or keyspace.table but it is %s' is thrown, naming the property key and the offending item.","triggerScenarios":"cassandra.commitlog_replay_list containing an item with more than one dot, e.g. 'ks1.tbl1.extra' or a fully-qualified identifier mistakenly pasted into the list.","commonSituations":"Operators pasting fully-qualified names (e.g. 'myks.mytable@dc1' or 'ks.tbl.1234'), or tools appending suffixes to table names when generating the property.","solutions":["Correct the entry to 'keyspace' or 'keyspace.table' — remove any extra dot-separated components.","If the table name itself contains a dot, quote/rename it at the schema level or filter by keyspace instead.","Regenerate the replay list from schema metadata (system_schema.tables) to avoid typos.","Validate each item with a regex '^[^.]+(\\.[^.]+)?$' before setting the system property."],"exampleFix":"// before\n-Dcassandra.commitlog_replay_list=ks1.tbl1.extra  // IllegalArgumentException\n// after\n-Dcassandra.commitlog_replay_list=ks1.tbl1","handlingStrategy":"validation","validationCode":"for (String item : replayList.split(\",\")) {\n    String t = item.trim();\n    if (t.chars().filter(c -> c == '.').count() > 1)\n        throw new IllegalArgumentException(\"Replay list item must be keyspace or keyspace.table: \" + t);\n}","typeGuard":null,"tryCatchPattern":"try { CommitLogReplayer.create(...); } catch (IllegalArgumentException e) { logger.error(\"Bad replay item: {}\", e.getMessage()); }","preventionTips":["Restrict entries to 'keyspace' or 'keyspace.table' shapes","Strip any tooling suffixes before setting the property","Validate with regex '^[^.]+(\\.[^.]+)?$' before restart"],"tags":["commitlog","replay","configuration","parsing"],"backgroundTag":"invalid-config-value","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"}