You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jordan West (Jira)" <ji...@apache.org> on 2020/08/20 19:50:00 UTC

[jira] [Comment Edited] (CASSANDRA-16048) Safely Ignore Compact Storage Tables Where Users Have Defined Clustering and Value Columns

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

Jordan West edited comment on CASSANDRA-16048 at 8/20/20, 7:49 PM:
-------------------------------------------------------------------

{quote}this has user visible consequences (no more "WITH COMPACT STORAGE" mention when using DESCRIBED and removed DENSE flag), even if they can arguably be considered minor.{quote}.

Agreed. I should have been more specific that I was referring to visible changes to query results as shown by the included test. 

{quote}Without this patch, users are obligated to manually run DROP COMPACT STORAGE on all tables, so no risk of surprise exists. Which is kind of a feature in that case imo.{quote}

In practice, I am finding this to not be the case. Instead, its a blocker to upgrading that will cause a significant burden and time commitment including user outreach, etc. 

{quote} to ask a few power users to run more manual DROP COMPACT STORAGE (it's not like it can't be scripted externally easily if you know what you're doing) {quote}

This is an option I explored as well. While the scripting might be easy, the risk to organizations doing so is more complex. It also requires identifying the types of tables that are safe to call {{DROP COMPACT STORAGE}} on vs the ones that will necessarily result in a user visible query result change like this patch does. That can be done in the script but I've found it more straightforward to implement and test w/in the database as done in this patch. 

I'll take a look at CASSANDRA-16063. Thanks. 



was (Author: jrwest):
{quote}this has user visible consequences (no more "WITH COMPACT STORAGE" mention when using DESCRIBED and removed DENSE flag), even if they can arguably be considered minor.{/quote}.

Agreed. I should have been more specific that I was referring to visible changes to query results as shown by the included test. 

{quote}Without this patch, users are obligated to manually run DROP COMPACT STORAGE on all tables, so no risk of surprise exists. Which is kind of a feature in that case imo.{quote}

In practice, I am finding this to not be the case. Instead, its a blocker to upgrading that will cause a significant burden and time commitment including user outreach, etc. 

{quote} to ask a few power users to run more manual DROP COMPACT STORAGE (it's not like it can't be scripted externally easily if you know what you're doing) {quote}

This is an option I explored as well. While the scripting might be easy, the risk to organizations doing so is more complex. It also requires identifying the types of tables that are safe to call {{DROP COMPACT STORAGE}} on vs the ones that will necessarily result in a user visible query result change like this patch does. That can be done in the script but I've found it more straightforward to implement and test w/in the database as done in this patch. 

I'll take a look at CASSANDRA-16063. Thanks. 


> Safely Ignore Compact Storage Tables Where Users Have Defined Clustering and Value Columns
> ------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-16048
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16048
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Legacy/CQL
>            Reporter: Jordan West
>            Assignee: Jordan West
>            Priority: Normal
>             Fix For: 4.0-beta
>
>
> Some compact storage tables, specifically those where the user has defined both at least one clustering and the value column, can be safely handled in 4.0 because besides the DENSE flag they are not materially different post 3.0 and there is no visible change to the user facing schema after dropping compact storage. We can detect this case and allow these tables to silently drop the DENSE flag while still throwing a start-up error for COMPACT STORAGE tables that don’t meet the criteria. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org