Мы работаем с Datastax Enterprise 4.8.8. У нас есть несколько приложений, подключающихся к Cassandra с использованием Hector API (Thrift Communication).
В рамках перехода от Thrift Communication к CQL Communication (с использованием драйверов Datastax Cassandra):Я вижу странную ошибку: добавлен дополнительный столбец KEY в моей схеме ColumnFamily.
ColumnFamily был создан давно с использованием cassandra-cli
:
CREATE TABLE mykeyspace."ColumnFamilyName" (
key blob,
column1 text,
value blob,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE
AND bloom_filter_fp_chance = 0.01
AND comment = ''
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = 'NONE'
AND caching = {
'keys' : 'ALL',
'rows_per_partition' : 'NONE'
}
AND compression = {
'chunk_length_kb' : 64,
'sstable_compression' : 'LZ4Compressor'
}
AND compaction = {
'class' : 'SizeTieredCompactionStrategy',
'min_sstable_size' : 52428800
};
Выше приведена правильная и ожидаемая схема скопированаиз DevCenter.То же семейство Column Я могу попытаться увидеть схему из cqlsh, я вижу ниже:
cassandra@cqlsh> DESC mykeyspace."ColumnFamilyName";
/*
Warning: Table mykeyspace."ColumnFamilyName" omitted because it has
constructs not compatible with CQL (was created via legacy API).
Приблизительная структура, для справки: (это не должно использоваться для воспроизведения этой схемы)
CREATE TABLE mykeyspace."ColumnFamilyName" (
key blob,
column1 text,
value blob,
"KEY" blob,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE
AND CLUSTERING ORDER BY (column1 ASC)
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'min_sstable_size': '52428800',
'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'chunk_length_kb': '64',
'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = 'NONE';
*/
У кого-нибудь была такая проблема?Если да, то есть какое-либо предлагаемое решение без воссоздания стола?Дополнительный столбец KEY виден только через CQLSH, а не из пользовательского интерфейса Devcenter.
Последнее, я даже не могу запустить команду COPY из-за этого дополнительного столбца KEY (так как он является частью ключа раздела).