Hi Alex, Thanks for bringing this up. I am with you for returning part of the code back and considering this as a bug. I truly believe it is too late in the release to document changed behavior. I think this contradicts with the project’s promise for no breaking changes. This should have been documented in alpha. Best regards, Ekaterina
On Thu, 22 Oct 2020 at 3:20, Oleksandr Petrov <oleksandr.pet...@gmail.com> wrote: > Since this is an important subject, I thought it also makes sense to start > a mailing list thread. > > You may know that in 4.0 there was a plan to drop compact storage and > related code. However, there are several behavioural changes related to > compact storage, and difference in visible behaviour between "normal" and > compact tables are larger than most of us have anticipated: we first > thought there’ll be only “appearing column” in dense case, but there’s > implicit nulls in clusterings thing, and row vs column deletion now, TTL, > and more. > > Some of the recent issues on the subject are: CASSANDRA-16048 > <https://issues.apache.org/jira/browse/CASSANDRA-16048>, which allows to > ignore these differences. The other one was an attempt to improve the user > experience of anyone still using compact storage: CASSANDRA-15811 > <https://issues.apache.org/jira/browse/CASSANDRA-15811>. > > Easily reproducible differences are: > > (1) hidden columns show up, which breaks SELECT * queries > (2) DELETE v and UPDATE v WITH TTL would result into row removals in > non-dense compact tables (CASSANDRA-16069 > <https://issues.apache.org/jira/browse/CASSANDRA-16069>) > (3) INSERT allows skipping clusterings, which are filled with nulls by > default. > > Some of these are tricky to support, as 15811 has shown. Anyone who might > want to upgrade to 4.0 while still using compact storage might be affected > by being forced into one of these behaviours. > > Possible solutions are to document these behaviours, or to bring back a > minimal set of COMPACT STORAGE and keep supporting these in 4.0 > > It looks like it is possible to leave some of the functionality related to > DENSE flag and allow it to be present in 4.0, but only for these three (and > potential related, however not directly visible) cases. > > You can find more details on the subject here: > https://issues.apache.org/jira/browse/CASSANDRA-16217 > > Thank you, > > -- Alex >