[ 
https://issues.apache.org/jira/browse/CASSANDRA-6831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13965775#comment-13965775
 ] 

Mikhail Stepura commented on CASSANDRA-6831:
--------------------------------------------

That's the easiest way to fix the problem

> Updates to COMPACT STORAGE tables via cli drop CQL information
> --------------------------------------------------------------
>
>                 Key: CASSANDRA-6831
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6831
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Russell Bradberry
>            Assignee: Mikhail Stepura
>            Priority: Minor
>             Fix For: 1.2.17
>
>         Attachments: cassandra-1.2-6831.patch
>
>
> If a COMPACT STORAGE table is altered using the CLI all information about the 
> column names reverts to the initial "key, column1, column2" namings.  
> Additionally, the changes in the columns name will not take effect until the 
> Cassandra service is restarted.  This means that the clients using CQL will 
> continue to work properly until the service is restarted, at which time they 
> will start getting errors about non-existant columns in the table.
> When attempting to rename the columns back using ALTER TABLE an error stating 
> the column already exists will be raised.  The only way to get it back is to 
> ALTER TABLE and change the comment or something, which will bring back all 
> the original column names.
> This seems to be related to CASSANDRA-6676 and CASSANDRA-6370
> In cqlsh
> {code}
> Connected to cluster1 at 127.0.0.3:9160.
> [cqlsh 3.1.8 | Cassandra 1.2.15-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol 
> 19.36.2]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH REPLICATION = { 'class' : 'SimpleStrategy', 
> 'replication_factor' : 3 };
> cqlsh> USE test;
> cqlsh:test> CREATE TABLE foo (bar text, baz text, qux text, PRIMARY KEY(bar, 
> baz) ) WITH COMPACT STORAGE;
> cqlsh:test> describe table foo;
> CREATE TABLE foo (
>   bar text,
>   baz text,
>   qux text,
>   PRIMARY KEY (bar, baz)
> ) WITH COMPACT STORAGE AND
>   bloom_filter_fp_chance=0.010000 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={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'SnappyCompressor'};
> {code}
> Now in cli:
> {code}
>   Connected to: "cluster1" on 127.0.0.3/9160
> Welcome to Cassandra CLI version 1.2.15-SNAPSHOT
> Type 'help;' or '?' for help.
> Type 'quit;' or 'exit;' to quit.
> [default@unknown] use test;
> Authenticated to keyspace: test
> [default@test] UPDATE COLUMN FAMILY foo WITH comment='hey this is a comment';
> 3bf5fa49-5d03-34f0-b46c-6745f7740925
> {code}
> Now back in cqlsh:
> {code}
> cqlsh:test> describe table foo;
> CREATE TABLE foo (
>   bar text,
>   column1 text,
>   value text,
>   PRIMARY KEY (bar, column1)
> ) WITH COMPACT STORAGE AND
>   bloom_filter_fp_chance=0.010000 AND
>   caching='KEYS_ONLY' AND
>   comment='hey this is a 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={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'SnappyCompressor'};
> cqlsh:test> ALTER TABLE foo WITH comment='this is a new comment';
> cqlsh:test> describe table foo;
> CREATE TABLE foo (
>   bar text,
>   baz text,
>   qux text,
>   PRIMARY KEY (bar, baz)
> ) WITH COMPACT STORAGE AND
>   bloom_filter_fp_chance=0.010000 AND
>   caching='KEYS_ONLY' AND
>   comment='this is a new 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={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'SnappyCompressor'};
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to