[jira] [Updated] (CASSANDRA-11502) Fix denseness and column metadata updates coming from Thrift
[ https://issues.apache.org/jira/browse/CASSANDRA-11502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-11502: -- Resolution: Fixed Fix Version/s: (was: 3.0.x) (was: 2.2.x) (was: 3.x) 2.2.7 3.0.6 3.6 Reproduced In: 2.2.5, 2.1.13 (was: 2.1.13, 2.2.5) Status: Resolved (was: Patch Available) > 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: 3.6, 3.0.6, 2.2.7 > > > It was > [decided|https://issues.apache.org/jira/browse/CASSANDRA-7744?focusedCommentId=14095472=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)
[jira] [Updated] (CASSANDRA-11502) Fix denseness and column metadata updates coming from Thrift
[ https://issues.apache.org/jira/browse/CASSANDRA-11502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko updated CASSANDRA-11502: -- Reviewer: Sylvain Lebresne Reproduced In: 2.2.5, 2.1.13 (was: 2.1.13, 2.2.5) Status: Patch Available (was: Open) > 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=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)