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

Jordan West commented on CASSANDRA-16048:
-----------------------------------------

Thanks for the input [~slebresne].  I was hoping you would chime in. 

I'm currently working on a plan for migrating a rather large fleet off of 
{{COMPACT STORAGE}} and found this approach to reduce the burden significantly 
(my findings are that the "shape" of COMPACT STORAGE table addressed by this 
patch is very common). Each additional out of band process that needs to be 
performed before the upgrade adds to the burden of moving to 4.0 and having a 
safe way that operators don't have to think about is helpful. However, I do 
agree its unfortunate we can't do this for all COMPACT STORAGE tables so that 
we have a unified story and I am +1 on the documentation reading something like 
to "you should drop COMPACT STORAGE manually by yourself before upgrading to 
4.0 -- see CASSANDRA-16048 for potential alternatives". 

Regarding the DENSE flag, this is the same as if "DROP COMPACT STORAGE" was 
run, and the behavior prior to this patch is that the database would fail to 
start, so I'm not sure there will be much surprise to the user or that its of 
much concern. I did consider putting the patch behind a flag that defaulted to 
off but the semantics of flipping that flag sometime after the upgrade are even 
more confusing imo. 

As an aside, I am also concerned about the current behavior that we halt the 
database from starting when we detect compact storage tables but I need to 
investigate more what escape hatches exist before filing anything. 

> 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-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to