You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sotirios Delimanolis (JIRA)" <ji...@apache.org> on 2015/01/08 20:47:34 UTC
[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting
inconsistent column family structure after upgrade to Cassandra 2.1.2
[ https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sotirios Delimanolis updated CASSANDRA-8585:
--------------------------------------------
Description:
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift CLI client started reporting wrong default_validation_class for a Column Family.
For example,
<code>
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
with column_type = 'Standard'
and comparator = 'BytesType'
and default_validation_class = 'BytesType'
and key_validation_class = 'BytesType'
and read_repair_chance = 0.1
and dclocal_read_repair_chance = 0.0
and gc_grace = 10800
and min_compaction_threshold = 4
and max_compaction_threshold = 32
and compaction_strategy = 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
and caching = 'KEYS_ONLY'
and cells_per_row_to_cache = '0'
and default_time_to_live = 0
and speculative_retry = 'NONE'
and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
and compression_options = {'sstable_compression' : 'org.apache.cassandra.io.compress.SnappyCompressor'};
<code>
but
[default@MyKeyspace] describe SomeColumnFamily;
WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
ColumnFamily: SomeColumnFamily
Key Validation Class: org.apache.cassandra.db.marshal.BytesType
Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
GC grace seconds: 10800
Compaction min/max thresholds: 4/32
Read repair chance: 0.1
DC Local Read repair chance: 0.0
Caching: KEYS_ONLY
Default time to live: 0
Bloom Filter FP chance: default
Index interval: default
Speculative Retry: NONE
Built indexes: []
Compaction Strategy: org.apache.cassandra.db.compaction.LeveledCompactionStrategy
Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
Note how the default column value validator and cell sorting is UTF8Type rather than the BytesType reported earlier.
If I populate the column family and list its rows, I get
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
-------------------
RowKey: SomeRowKey
String didn't validate.
I can't see the row. I can temporarily fix this by setting the default_column_validator
[default@MyKeyspace] update column family SomeColumnFamily with default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
-------------------
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
-------------------
[More RowKeys]
If I do a DESCRIBE again, though, LIST stops working again.
[default@KeySpace] describe SomeColumnFamily;
WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
ColumnFamily: SomeColumnFamily
Key Validation Class: org.apache.cassandra.db.marshal.BytesType
Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
GC grace seconds: 10800
Compaction min/max thresholds: 4/32
Read repair chance: 0.1
DC Local Read repair chance: 0.0
Caching: KEYS_ONLY
Default time to live: 0
Bloom Filter FP chance: default
Index interval: default
Speculative Retry: NONE
Built indexes: []
Compaction Strategy: org.apache.cassandra.db.compaction.LeveledCompactionStrategy
Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
-------------------
RowKey: SomeRowKey
String didn't validate.
I can access the column family rows with other clients, the C# driver for example.
was:
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift CLI client started reporting wrong default_validation_class for a Column Family.
For example,
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
with column_type = 'Standard'
and comparator = 'BytesType'
and default_validation_class = 'BytesType'
and key_validation_class = 'BytesType'
and read_repair_chance = 0.1
and dclocal_read_repair_chance = 0.0
and gc_grace = 10800
and min_compaction_threshold = 4
and max_compaction_threshold = 32
and compaction_strategy = 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
and caching = 'KEYS_ONLY'
and cells_per_row_to_cache = '0'
and default_time_to_live = 0
and speculative_retry = 'NONE'
and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
and compression_options = {'sstable_compression' : 'org.apache.cassandra.io.compress.SnappyCompressor'};
but
[default@MyKeyspace] describe SomeColumnFamily;
WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
ColumnFamily: SomeColumnFamily
Key Validation Class: org.apache.cassandra.db.marshal.BytesType
Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
GC grace seconds: 10800
Compaction min/max thresholds: 4/32
Read repair chance: 0.1
DC Local Read repair chance: 0.0
Caching: KEYS_ONLY
Default time to live: 0
Bloom Filter FP chance: default
Index interval: default
Speculative Retry: NONE
Built indexes: []
Compaction Strategy: org.apache.cassandra.db.compaction.LeveledCompactionStrategy
Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
Note how the default column value validator and cell sorting is UTF8Type rather than the BytesType reported earlier.
If I populate the column family and list its rows, I get
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
-------------------
RowKey: SomeRowKey
String didn't validate.
I can't see the row. I can temporarily fix this by setting the default_column_validator
[default@MyKeyspace] update column family SomeColumnFamily with default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
-------------------
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
-------------------
[More RowKeys]
If I do a DESCRIBE again, though, LIST stops working again.
[default@KeySpace] describe SomeColumnFamily;
WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
ColumnFamily: SomeColumnFamily
Key Validation Class: org.apache.cassandra.db.marshal.BytesType
Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
GC grace seconds: 10800
Compaction min/max thresholds: 4/32
Read repair chance: 0.1
DC Local Read repair chance: 0.0
Caching: KEYS_ONLY
Default time to live: 0
Bloom Filter FP chance: default
Index interval: default
Speculative Retry: NONE
Built indexes: []
Compaction Strategy: org.apache.cassandra.db.compaction.LeveledCompactionStrategy
Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
-------------------
RowKey: SomeRowKey
String didn't validate.
I can access the column family rows with other clients, the C# driver for example.
> Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2
> -------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
> Issue Type: Bug
> Components: API
> Reporter: Sotirios Delimanolis
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift CLI client started reporting wrong default_validation_class for a Column Family.
> For example,
> <code>
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
> with column_type = 'Standard'
> and comparator = 'BytesType'
> and default_validation_class = 'BytesType'
> and key_validation_class = 'BytesType'
> and read_repair_chance = 0.1
> and dclocal_read_repair_chance = 0.0
> and gc_grace = 10800
> and min_compaction_threshold = 4
> and max_compaction_threshold = 32
> and compaction_strategy = 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
> and caching = 'KEYS_ONLY'
> and cells_per_row_to_cache = '0'
> and default_time_to_live = 0
> and speculative_retry = 'NONE'
> and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
> and compression_options = {'sstable_compression' : 'org.apache.cassandra.io.compress.SnappyCompressor'};
> <code>
> but
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
> Key Validation Class: org.apache.cassandra.db.marshal.BytesType
> Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
> Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
> GC grace seconds: 10800
> Compaction min/max thresholds: 4/32
> Read repair chance: 0.1
> DC Local Read repair chance: 0.0
> Caching: KEYS_ONLY
> Default time to live: 0
> Bloom Filter FP chance: default
> Index interval: default
> Speculative Retry: NONE
> Built indexes: []
> Compaction Strategy: org.apache.cassandra.db.compaction.LeveledCompactionStrategy
> Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
> Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> Note how the default column value validator and cell sorting is UTF8Type rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> -------------------
> RowKey: SomeRowKey
> String didn't validate.
> I can't see the row. I can temporarily fix this by setting the default_column_validator
> [default@MyKeyspace] update column family SomeColumnFamily with default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> -------------------
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> -------------------
> [More RowKeys]
> If I do a DESCRIBE again, though, LIST stops working again.
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
> Key Validation Class: org.apache.cassandra.db.marshal.BytesType
> Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
> Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
> GC grace seconds: 10800
> Compaction min/max thresholds: 4/32
> Read repair chance: 0.1
> DC Local Read repair chance: 0.0
> Caching: KEYS_ONLY
> Default time to live: 0
> Bloom Filter FP chance: default
> Index interval: default
> Speculative Retry: NONE
> Built indexes: []
> Compaction Strategy: org.apache.cassandra.db.compaction.LeveledCompactionStrategy
> Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
> Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> -------------------
> RowKey: SomeRowKey
> String didn't validate.
> I can access the column family rows with other clients, the C# driver for example.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)