Simon Ashley created CASSANDRA-11055:
----------------------------------------
Summary: cqC*2.1 cqlsh DESCRIBE KEYSPACE ( or TABLE ) returns
'NoneType' object has no attribute 'replace'
Key: CASSANDRA-11055
URL: https://issues.apache.org/jira/browse/CASSANDRA-11055
Project: Cassandra
Issue Type: Bug
Reporter: Simon Ashley
C* 2.1 cqlsh DESCRIBE KEYSPACE ( or TABLE ) returns:
'NoneType' object has no attribute 'replace'
for thrift CF's originally created in C* 1.2.
Repro:
1. Create cf in cassandra-cli on C* 1.2.x (1.2.9 was used here)
[default@ks1] CREATE COLUMN FAMILY t1
... WITH column_type='Standard'
... AND
comparator='CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type)'
... AND default_validation_class='UTF8Type'
... AND key_validation_class='UTF8Type'
... AND read_repair_chance=0.1
... AND dclocal_read_repair_chance=0.0
... AND gc_grace=864000
... AND min_compaction_threshold=4
... AND max_compaction_threshold=32
... AND replicate_on_write=true
... AND compaction_strategy='LeveledCompactionStrategy' AND
compaction_strategy_options={sstable_size_in_mb: 32}
... AND caching='KEYS_ONLY'
... AND compression_options={sstable_compression:SnappyCompressor,
chunk_length_kb:64};
qlsh> describe keyspace ks1;
CREATE KEYSPACE ks1 WITH replication = {
'class': 'NetworkTopologyStrategy',
'datacenter1': '1'
};
USE ks1;
CREATE TABLE t1 (
key text,
column1 text,
column2 text,
value text,
PRIMARY KEY (key, column1, column2)
) WITH COMPACT STORAGE AND
bloom_filter_fp_chance=0.100000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
read_repair_chance=0.100000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
compaction={'sstable_size_in_mb': '32', 'class': 'LeveledCompactionStrategy'}
AND
compression={'chunk_length_kb': '64', 'sstable_compression':
'SnappyCompressor'};
cqlsh> select keyspace_name, columnfamily_name,column_aliases,key_aliases from
system.schema_columnfamilies where keyspace_name= 'ks1';
keyspace_name | columnfamily_name | column_aliases | key_aliases
---------------+-------------------+----------------+-------------
ks1 | t1 | [] | []
2/ Upgrade -> C* 2.0.9 -> nodetool upgradesstables -a
At this stage , DESCRIBE in cqlsh is working
3/ Upgrade -> C* 2.1.12 -> nodetool upgradesstables -a
DESCRIBE now fails:
cqlsh> describe table ks1.t1;
'NoneType' object has no attribute 'replace'
cqlsh> describe keyspace ks1;
'NoneType' object has no attribute 'replace'
You can workaround by manually updating system.schema_columnfamilies
UPDATE system.schema_columnfamilies SET column_aliases
='["column1","column2"]' WHERE keyspace_name = 'ks1' AND columnfamily_name =
't1';
Once you exit and restart cqlsh, DESCRIBE is not working as per C* 1.2
cqlsh> describe keyspace ks1;
CREATE KEYSPACE ks1 WITH replication = {'class': 'NetworkTopologyStrategy',
'datacenter1': '1'} AND durable_writes = true;
CREATE TABLE ks1.t1 (
key text,
column1 text,
column2 text,
value text,
PRIMARY KEY (key, column1, column2)
) WITH COMPACT STORAGE
AND CLUSTERING ORDER BY (column1 ASC, column2 ASC)
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'sstable_size_in_mb': '32', 'class':
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
AND compression = {'chunk_length_kb': '64', 'sstable_compression':
'org.apache.cassandra.io.compress.SnappyCompressor'}
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.1
AND speculative_retry = '99.0PERCENTILE';
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)