{"record":{"id":"07e36f6848871c33","repo":"apache/cassandra","slug":"because-of-this-name-name-if-you-removed-it-fr","errorCode":null,"errorMessage":"Because of this name: ${name} if you removed it from the yaml and are still seeing this, make sure to drop table","messagePattern":"Because of this name: (.+?) if you removed it from the yaml and are still seeing this, make sure to drop table","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"tools/stress/src/org/apache/cassandra/stress/StressProfile.java","lineNumber":849,"sourceCode":"                    return new Dates(name, config);\n                case \"UUID\":\n                    return new UUIDs(name, config);\n                case \"TIMEUUID\":\n                    return new TimeUUIDs(name, config);\n                case \"TINYINT\":\n                    return new TinyInts(name, config);\n                case \"SMALLINT\":\n                    return new SmallInts(name, config);\n                case \"TIME\":\n                    return new Times(name, config);\n                case \"DATE\":\n                    return new LocalDates(name, config);\n                case \"SET\":\n                    return new Sets(name, getGenerator(name, collectionType, null, config), config);\n                case \"LIST\":\n                    return new Lists(name, getGenerator(name, collectionType, null, config), config);\n                default:\n                    throw new UnsupportedOperationException(\"Because of this name: \"+name+\" if you removed it from the yaml and are still seeing this, make sure to drop table\");\n            }\n        }\n    }\n\n    public static StressProfile load(URI file) throws IOError\n    {\n        try\n        {\n            Constructor constructor = new Constructor(StressYaml.class, YamlConfigurationLoader.getDefaultLoaderOptions());\n\n            Yaml yaml = new Yaml(constructor);\n\n            InputStream yamlStream = file.toURL().openStream();\n\n            if (yamlStream.available() == 0)\n                throw new IOException(\"Unable to load yaml file from: \"+file);\n\n            StressYaml profileYaml = yaml.loadAs(yamlStream, StressYaml.class);","sourceCodeStart":831,"sourceCodeEnd":867,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/tools/stress/src/org/apache/cassandra/stress/StressProfile.java#L831-L867","documentation":"When building a column generator from the loaded schema metadata, the type switch only supports known Cassandra types (map, set, list, primitives, etc.). An unrecognized type falls through to this UnsupportedOperationException, whose message hints the user probably removed a column from the YAML but the table still contains it. The stress tool cannot generate data for the unsupported/removed type.","triggerScenarios":"StressProfile construction encountering a schema column whose type has no generator case, most often a leftover column in the actual table that is no longer declared/expected in the profile YAML (or a truly unsupported type like custom/UDT types).","commonSituations":"Changed the YAML column definitions but did not DROP the old table, so the schema still has columns the profile does not know; using exotic types (frozen UDTs, custom types) in the table.","solutions":["Drop the existing table so the schema matches the current YAML, then let stress recreate it","Add the column back to the profile YAML or declare it so a supported generator is chosen","Avoid unsupported column types (UDTs/custom types) in stress-managed tables","Recreate the keyspace/table to guarantee schema/YAML consistency"],"exampleFix":"// before: yaml no longer defines column 'oldcol' but table still has it\n// after\n// cqlsh> DROP TABLE ks.mytable; then re-run stress to recreate schema","handlingStrategy":"fallback","validationCode":"// compare YAML columns to actual schema before running\nSet<String> yamlCols = profileColumnNames();\nSet<String> tableCols = metadata.getTable(...).getColumns().stream().map(ColumnMetadata::getName).collect(toSet());\nif (!tableCols.equals(yamlCols)) throw new IllegalStateException(\"schema/YAML mismatch: \" + tableCols);","typeGuard":null,"tryCatchPattern":"try { new StressProfile...load(...); } catch (UnsupportedOperationException e) { if (e.getMessage().startsWith(\"Because of this name\")) { log.error(\"Drop the stale table or restore the column\"); throw e; } }","preventionTips":["DROP the table whenever you change profile column definitions","Avoid UDTs/custom types in stress-managed tables","Keep table schema and YAML in sync via the profile's schema creation step"],"tags":["cassandra","schema","unsupported-type"],"backgroundTag":"unsupported-operation","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-14T21:17:11.552Z"}