On a couple different occasions I have run into this exception at start up:
Exception (org.apache.cassandra.exceptions.InvalidRequestException) encountered during startup: Unknown type <user type> org.apache.cassandra.exceptions.InvalidRequestException: Unknown type <user type> at org.apache.cassandra.cql3.CQL3Type$Raw$RawUT.prepare(CQL3Type.java:745) at org.apache.cassandra.cql3.CQL3Type$Raw.prepareInternal(CQL3Type.java:533) at org.apache.cassandra.schema.CQLTypeParser.parse(CQLTypeParser.java:53) at org.apache.cassandra.schema.SchemaKeyspace.createColumnFromRow(SchemaKeyspace.java:1052) at org.apache.cassandra.schema.SchemaKeyspace.lambda$fetchColumns$12(SchemaKeyspace.java:1038) This was with Cassandra 3.0.12 running in Kubernetes, which means that IP address changes for the Cassandra node can and will happen. Nowhere in client code does the UDT get dropped. I came across https://issues.apache.org/jira/browse/CASSANDRA-13739 which got me wondering if this particular Cassandra node wound up with another version of the system_schema.types table which did not have the UDT. In what circumstances could I end up with multiple table directories for the tables in system_schema? Right now I am just guessing that I wound up with a newer (or different) version of the system_schema.types table. Unfortunately, I no longer have access to the environment to confirm/deny what was happening. I just want to better understand so I can avoid it in the future. - John