cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11502) Fix denseness and column metadata updates coming from Thrift
Date Wed, 27 Apr 2016 13:13:13 GMT

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

Sylvain Lebresne commented on CASSANDRA-11502:
----------------------------------------------

bq. but I, instead, feel more paranoid about leaving it in

Fair enough, I'm good getting rid of it.

bq. I think we should be safe here b/c of the {{isThriftCompatible()}} guard in {{CassandraServer::system_update_column_family()}}.

You're right. I got confused because I help someone a few days ago with an upgrade problem
and was able to do an update on a CQL table, but that was on some 2.0 version so must have
been on some version from before we introduced that. Would still be great to double check
but +1 on the patch in any case.

> Fix denseness and column metadata updates coming from Thrift
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-11502
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11502
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Distributed Metadata
>            Reporter: Aleksey Yeschenko
>            Assignee: Aleksey Yeschenko
>            Priority: Minor
>             Fix For: 2.2.x, 3.0.x, 3.x
>
>
> It was [decided|https://issues.apache.org/jira/browse/CASSANDRA-7744?focusedCommentId=14095472&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14095472]
that we'd be recalculating {{is_dense}} for table updates coming from Thrift on every change.
However, due to some oversight, {{is_dense}} can only go from {{false}} to {{true}}. Once
dense, even adding a {{REGULAR}} column will not reset {{is_dense}} back to {{false}}.
> The recalculation fails because no matter what happens, we never remove the auto-generated
{{CLUSTERING}} and {{COMPACT_VALUE}} columns of a dense table.
> Which ultimately leads to the issue on 2.2 to 3.0 upgrade (see CASSANDRA-11315).
> What we should do is remove the special-case for Thrift in {{LegacySchemaTables::makeUpdateTableMutation}}
and correct the logic in {{ThriftConversion::internalFromThrift}} to remove those columns
when going from dense to sparse.
> This is not enough to fix CASSANDRA-11315, however, as we need to handle pre-patch upgrades,
and upgrades from 2.1. Fixing it in 2.2 means a) getting proper schema from {{DESCRIBE}} now
and b) using the more efficient {{SparseCellNameType}} when you add columns.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message