cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5489) Fix 2.0 key and column aliases serialization and cqlsh DESC SCHEMA
Date Tue, 30 Apr 2013 19:00:17 GMT

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

Aleksey Yeschenko commented on CASSANDRA-5489:
----------------------------------------------

All right. I guess adding an all-or-nothing restriction at this point is okay-ish and makes
more sense than the current one-alias-at-a-time restriction that's not even throwing a reasonable
exception.

But I don't exactly see how this avoids having to handle nulls, unless you are suggesting
to serialize key/column aliases lists as '[]' in cases where there have been no renames and
not '[null, null, null]' as it is now in trunk (for the 'test' table in your example). If
that's the case, then I agree and support you. If it's not, then I'm against it - having nulls
in column_aliases/key_aliases breaks DESCRIBE SCHEMA in cqlsh and every other implementation.

Also, we still need to apply the cqlsh part of the v1 patch (and it can actually to to 1.2,
with an added benefit that 1.2 cqlsh will be able to properly describe 2.0 schema).

P.S. ALTER TABLE RENAME is broken for metadata-less (created via thrift/CLI) column families
in trunk right now:

{noformat}
cqlsh:test> ALTER TABLE test RENAME column2 TO foo;
Bad Request: Cannot rename unknown column column2 in table test
cqlsh:test> ALTER TABLE test RENAME key TO foo;
Bad Request: Cannot rename unknown column key in table test
cqlsh:test> ALTER TABLE test RENAME value TO foo;
Bad Request: Cannot rename unknown column value in table test
{noformat}

INSERT/SELECT still handle the auto-aliases as they should, but ALTER TABLE RENAME is broken.
I'm surprised we don't have a dtest for this.
                
> Fix 2.0 key and column aliases serialization and cqlsh DESC SCHEMA
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-5489
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5489
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core, Tools
>    Affects Versions: 2.0
>            Reporter: Aleksey Yeschenko
>            Assignee: Aleksey Yeschenko
>            Priority: Minor
>             Fix For: 2.0
>
>         Attachments: 5489-1.2.txt, 5489.txt
>
>
> CASSANDRA-5125 made a slight change to how key_aliases and column_aliases are serialized
in schema. Prior to that we never kept nulls in the the json pseudo-lists. This does break
cqlsh and probably breaks 1.2 nodes receiving such migrations as well. The patch reverts this
behavior and also slightly modifies cqlsh itself to ignore non-regular columns from system.schema_columns
table.
> This patch breaks nothing, since 2.0 already handles 1.2 non-null padded alias lists.

--
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

Mime
View raw message