cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-13730) Dropping a table doesn't drop its dropped columns
Date Wed, 26 Jul 2017 00:54:00 GMT


Aleksey Yeschenko commented on CASSANDRA-13730:

The reason nobody noticed before is that it shouldn't affect you, normally. Assuming the clock
working even remotely correctly, timestamps of new columns in the new table will all be higher
than dropped column times in the deleted table.

You'd be affected if you set timestamps manually to values < time of new table creation.

You'll also be affected by being unable to re-add certain columns to schema - there are some
validations in place forbidding you to re-add columns with types incompatible with dropped
columns' types (for collections in particular).

It's still a bug though and should be fixed, but is a minor one.

Unassigning myself as it's less impactful as I initially assumed. If nobody else picks it
up, I will eventually fix it, once I don't have more important things on my plate.

Feel free to take over. And thanks for spotting it in the first place (:

> Dropping a table doesn't drop its dropped columns
> -------------------------------------------------
>                 Key: CASSANDRA-13730
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Duarte Nunes
>            Assignee: Aleksey Yeschenko
>             Fix For: 3.0.x, 3.11.x
> I'm not sure if this is intended or not, but currently a table's dropped columns are
not dropped when the table itself is dropped:
> {noformat}
> cqlsh> create keyspace ks WITH replication={ 'class' : 'SimpleStrategy', 'replication_factor'
: 1 } ;
> cqlsh> use ks;
> cqlsh:ks> create table  test (pk text primary key, c1 int);
> cqlsh:ks> alter table test drop c1;
> cqlsh:ks> drop table test;
> cqlsh:ks> select * from system_schema.dropped_columns where keyspace_name = 'ks' and
table_name = 'test';
>  keyspace_name | table_name | column_name | dropped_time                    | kind  
 | type
> ---------------+------------+-------------+---------------------------------+---------+------
>             ks |       test |          c1 | 2017-07-25 17:53:47.651000+0000 | regular
|  int
> (1 rows)
> {noformat}
> This can have surprising consequences when creating another table with the same name.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message