incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Armel Luce <jaluc...@gmail.com>
Subject Re: How to set LeveledCompactionStrategy for an existing table
Date Fri, 31 Aug 2012 07:54:07 GMT
Hello Aaron.

Thanks for your answer

Jira ticket 4597 created :
https://issues.apache.org/jira/browse/CASSANDRA-4597

Jean-Armel

2012/8/31 aaron morton <aaron@thelastpickle.com>

> Looks like a bug.
>
> Can you please create a ticket on
> https://issues.apache.org/jira/browse/CASSANDRA and update the email
> thread ?
>
> Can you include this: CFPropDefs.applyToCFMetadata() does not set the
> compaction class on CFM
>
> Thanks
>
>
> -----------------
> Aaron Morton
> Freelance Developer
> @aaronmorton
> http://www.thelastpickle.com
>
> On 31/08/2012, at 7:05 AM, Jean-Armel Luce <jaluce06@gmail.com> wrote:
>
> I tried as you said with cassandra-cli, and still unsuccessfully
>
> [default@unknown] use test1;
> Authenticated to keyspace: test1
> [default@test1] UPDATE COLUMN FAMILY pns_credentials with
> compaction_strategy='LeveledCompactionStrategy';
> 8ed12919-ef2b-327f-8f57-4c2de26c9d51
> Waiting for schema agreement...
> ... schemas agree across the cluster
>
> And then, when I check the compaction strategy, it is still
> SizeTieredCompactionStrategy
> [default@test1] describe pns_credentials;
>     ColumnFamily: pns_credentials
>       Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
>       Default column value validator:
> org.apache.cassandra.db.marshal.UTF8Type
>       Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type
>       GC grace seconds: 864000
>       Compaction min/max thresholds: 4/32
>       Read repair chance: 0.1
>       DC Local Read repair chance: 0.0
>       Replicate on write: true
>       Caching: KEYS_ONLY
>       Bloom Filter FP chance: default
>       Built indexes: []
>       Column Metadata:
>         Column Name: isnew
>           Validation Class: org.apache.cassandra.db.marshal.Int32Type
>         Column Name: ts
>           Validation Class: org.apache.cassandra.db.marshal.DateType
>         Column Name: mergestatus
>           Validation Class: org.apache.cassandra.db.marshal.Int32Type
>         Column Name: infranetaccount
>           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
>         Column Name: user_level
>           Validation Class: org.apache.cassandra.db.marshal.Int32Type
>         Column Name: msisdn
>           Validation Class: org.apache.cassandra.db.marshal.LongType
>         Column Name: mergeusertype
>           Validation Class: org.apache.cassandra.db.marshal.Int32Type
>       Compaction Strategy:
> org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
>       Compression Options:
>         sstable_compression:
> org.apache.cassandra.io.compress.SnappyCompressor
>
>
>
> I tried also to create a new table with LeveledCompactionStrategy (using
> cqlsh), and when I check the compaction strategy, the
> SizeTieredCompactionStrategy is set for this table.
>
> cqlsh:test1> CREATE TABLE pns_credentials3 (
>          ...   ise text PRIMARY KEY,
>          ...   isnew int,
>          ...   ts timestamp,
>          ...   mergestatus int,
>          ...   infranetaccount text,
>          ...   user_level int,
>          ...   msisdn bigint,
>          ...   mergeusertype int
>          ... ) WITH
>          ...   comment='' AND
>          ...   read_repair_chance=0.100000 AND
>          ...   gc_grace_seconds=864000 AND
>          ...   compaction_strategy_class='LeveledCompactionStrategy' AND
>          ...
> compression_parameters:sstable_compression='SnappyCompressor';
> cqlsh:test1> describe table pns_credentials3
>
> CREATE TABLE pns_credentials3 (
>   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';
>
> Maybe something is wrong in my server.
> Any idea ?
>
> Thanks.
> Jean-Armel
>
>
> 2012/8/30 feedly team <feedlydev@gmail.com>
>
>> in cassandra-cli, i did something like:
>>
>> update column family xyz with
>> compaction_strategy='LeveledCompactionStrategy'
>>
>>
>> On Thu, Aug 30, 2012 at 5:20 AM, Jean-Armel Luce <jaluce06@gmail.com>wrote:
>>
>>>
>>> Hello,
>>>
>>> I am using Cassandra 1.1.1 and CQL3.
>>> I have a cluster with 1 node (test environment)
>>> Could you tell how to set the compaction strategy to Leveled Strategy
>>> for an existing table ?
>>>
>>> I have a table pns_credentials
>>>
>>> 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
>>> ...
>>>
>>>
>>> I stopped/started the Cassandra node, but the table is still with
>>> SizeTieredCompactionStrategy
>>>
>>> I tried using cassandra-cli, but the alter is still unsuccessfull.
>>>
>>> Is there anything I am missing ?
>>>
>>>
>>> Thanks.
>>>
>>> Jean-Armel
>>>
>>
>>
>
>

Mime
View raw message