[
https://issues.apache.org/jira/browse/CASSANDRA-4597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
jal reopened CASSANDRA-4597:
----------------------------
Still happening in 1.1.4
> 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