Hello,

Defining the “column_metadata” after table creation vs during table
creation seems to affect the cql schema.  We are running a large
high-throughput Cassandra 2.1.10 cluster. During table creation, the client
Cassandra-cli was used with the following commands:

“create column family Test with comparator = UTF8Type and
key_validation_class=UTF8Type;”
“update column family Test with column_metadata = [ {column_name: title,
validation_class: UTF8Type}]”

Though these commands had the desirable effect in thrift, in cql it causes
the composite key ((key), column1) to be seen, where column1 is the “title”
value.  Despite the composite key issue in cql, the underlying data on disk
is correct.  This article seemed to best describe what might be happening
on the backend: http://www.datastax.com/dev/blog/thrift-to-cql3.  Instead
of recreating the table with an explicit column definition, which would
look like this:

create column family Test with comparator = UTF8Type
and key_validation_class=UTF8Type
and column_metadata = [ {column_name: title, validation_class: UTF8Type}]

Is there a way to repair the cql schema to recognize that the table is not
dynamic, ultimately removing the composite key?

Thanks,
Amir

Reply via email to