[
https://issues.apache.org/jira/browse/CASSANDRA-15365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16961184#comment-16961184
]
Marcus Eriksson commented on CASSANDRA-15365:
---------------------------------------------
so, in 2.1 these invalid cells act as a kind of permanent row markers, for
example:
* {{create table %s (pk int, c1 text, c2 text, v1 text, primary key (pk, c1,
c2))}}
* insert an invalid cell, select * now returns: {{3, a, aa, null}}
* do an insert with a ttl for the whole row: {{insert into %s (pk, c1, c2, v1)
values (3, 'a', 'aa', 'vaaalue') using ttl 2}}
* select * before ttl: {{3, a, aa, vaaalue}}
* select * after ttl expires: {{3, a, aa, null}}
If the invalid cell didn't exist, the select would have returned nothing
Translating this to 3.0 including this patch, we would translate the
whole-row-insert row marker to the PKLI and ignore the invalid cell, and after
ttl expires we would return nothing.
We can't really fully translate the 2.1 behaviour to 3.0 using only the PKLI -
for example if we in the example above set the PKLI to the timestamp of the
invalid cell and later overwrote that row with a ttl row, we would fully purge
it after ttl expires, while in the 2.1 case we would still keep the invalid cell
I vote we keep the current patch behaviour, wdyt [~samt] & [~benedict]?
> Add primary key liveness info when skipping illegal cells
> ---------------------------------------------------------
>
> Key: CASSANDRA-15365
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15365
> Project: Cassandra
> Issue Type: Bug
> Components: Local/SSTable
> Reporter: Marcus Eriksson
> Assignee: Marcus Eriksson
> Priority: Normal
> Fix For: 3.0.x, 3.11.x
>
>
> In CASSANDRA-15086/CASSANDRA-15178 we started skipping the illegal legacy
> cells, problem is that if the row only contains illegal cells, we return a
> totally empty row which breaks stats collection:
> https://github.com/apache/cassandra/blob/93815db9853cb592edf13d82e91dc2e9d172f01f/src/java/org/apache/cassandra/db/rows/Rows.java#L70
> If the row only has these invalid cells, we should add a primary key liveness
> info to it to match the 2.1 behaviour.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]