You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2012/08/31 14:18:07 UTC
[jira] [Resolved] (CASSANDRA-4597) Impossible to set
LeveledCompactionStrategy to a column family.
[ https://issues.apache.org/jira/browse/CASSANDRA-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis resolved CASSANDRA-4597.
---------------------------------------
Resolution: Duplicate
Several schema bugs have been fixed since 1.1. Let us know if you can reproduce in 1.1.4. You may need to recreate the schema because 1.1.1 used an incorrectly-high timestamp on the original creation.
> Impossible to set LeveledCompactionStrategy to a column family.
> ----------------------------------------------------------------
>
> Key: CASSANDRA-4597
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4597
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.1.1
> Environment: Ubuntu 12.04
> cqlsh 2.2.0 | Cassandra 1.1.1 | CQL spec 3.0.0 | Thrift protocol 19.32.0
> Cluster with only 1 node
> Reporter: jal
>
> CFPropDefs.applyToCFMetadata() does not set the compaction class on CFM
> When altering the compaction strategy of a column family to LeveledCompactionStrategy, the compaction strategy is not changed (the describe command shows that the SizeTieredCompactionStrategy is still set to the CF)
> When creating a column family WITH compaction_strategy_class='LeveledCompactionStrategy', the compaction strategy class used is SizeTieredCompactionStrategy
> Ex :
> jal@jal-VirtualBox:~/cassandra/apache-cassandra-1.1.1/bin$ ./cqlsh -3
> Connected to Test Cluster at localhost:9160.
> [cqlsh 2.2.0 | Cassandra 1.1.1 | CQL spec 3.0.0 | Thrift protocol 19.32.0]
> Use HELP for help.
> cqlsh> use test1;
> cqlsh:test1> describe table pns_credentials;
> CREATE TABLE pns_credentials (
> ise text PRIMARY KEY,
> isnew int,
> ts timestamp,
> mergestatus int,
> infranetaccount text,
> user_level int,
> msisdn bigint,
> mergeusertype int
> ) WITH
> comment='' AND
> comparator=text AND
> read_repair_chance=0.100000 AND
> gc_grace_seconds=864000 AND
> default_validation=text AND
> min_compaction_threshold=4 AND
> max_compaction_threshold=32 AND
> replicate_on_write='true' AND
> compaction_strategy_class='SizeTieredCompactionStrategy' AND
> compression_parameters:sstable_compression='SnappyCompressor';
> I want to set the LeveledCompaction strategy for this table, so I execute the following ALTER TABLE :
> cqlsh:test1> alter table pns_credentials
> ... WITH compaction_strategy_class='LeveledCompactionStrategy'
> ... AND compaction_strategy_options:sstable_size_in_mb=10;
> In Cassandra logs, I see some informations :
> INFO 10:23:52,532 Enqueuing flush of Memtable-schema_columnfamilies@965212657(1391/1738 serialized/live bytes, 20 ops)
> INFO 10:23:52,533 Writing Memtable-schema_columnfamilies@965212657(1391/1738 serialized/live bytes, 20 ops)
> INFO 10:23:52,629 Completed flushing /var/lib/cassandra/data/system/schema_columnfamilies/system-schema_columnfamilies-hd-94-Data.db (1442 bytes) for commitlog position ReplayPosition(segmentId=3556583843054, position=1987)
> However, when I look at the description of the table, the table is still with the SizeTieredCompactionStrategy
> cqlsh:test1> describe table pns_credentials ;
> CREATE TABLE pns_credentials (
> ise text PRIMARY KEY,
> isnew int,
> ts timestamp,
> mergestatus int,
> infranetaccount text,
> user_level int,
> msisdn bigint,
> mergeusertype int
> ) WITH
> comment='' AND
> comparator=text AND
> read_repair_chance=0.100000 AND
> gc_grace_seconds=864000 AND
> default_validation=text AND
> min_compaction_threshold=4 AND
> max_compaction_threshold=32 AND
> replicate_on_write='true' AND
> compaction_strategy_class='SizeTieredCompactionStrategy' AND
> compression_parameters:sstable_compression='SnappyCompressor';
>
> In the schema_columnfamilies table (in system keyspace), the table pns_credentials is still using the SizeTieredCompactionStrategy
> cqlsh:test1> use system;
> cqlsh:system> select * from schema_columnfamilies ;
> ...
> test1 | pns_credentials | null | KEYS_ONLY | [] | | org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy | {} | org.apache.cassandra.db.marshal.UTF8Type | {"sstable_compression":"org.apache.cassandra.io.compress.SnappyCompressor"} | org.apache.cassandra.db.marshal.UTF8Type | 864000 | 1029 | ise | org.apache.cassandra.db.marshal.UTF8Type | 0 | 32 | 4 | 0.1 | True | null | Standard | null
> ...
> Same behaviour using cqlsh or command-cli.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira