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

Sylvain Lebresne commented on CASSANDRA-10261:
----------------------------------------------

I have to admit that I'm really not a fan of using the {{DeletionTime}} that 
way. {{DeletionTime}} is somewhat of a generic class that is used in more than 
one places. In particular, I believe we only really care here about row 
tombstones, but {{DeletionTime}} is also used for range tombstones, partition 
tombstones and collection (complex) tombstones. The new flag doesn't make sense 
(or at the very least won't be used/properly handled) in those cases, which is 
1) confusing code wise and 2) inefficient since that means we're storing an 
additional byte every time we serialize a {{DeletionTime}} even though this is 
a complete waste most often than not. On that efficiency front, even 
restricting it to row tombstones, it's also a little bit sad that every non-MV 
table will also pay that 1 byte price every time they use a row tombstones even 
though they will also never use it. That is, we spent a reasonable amount of 
effort for 3.0 to keep the serialization format relatively dense, and "wasting" 
a full byte that way feels a bit of a step back.

> Materialized Views Timestamp issues
> -----------------------------------
>
>                 Key: CASSANDRA-10261
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10261
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: T Jake Luciani
>            Assignee: T Jake Luciani
>             Fix For: 3.0.0 rc1
>
>
> As [~thobbs] 
> [mentioned|https://issues.apache.org/jira/browse/CASSANDRA-9664?focusedCommentId=14724150&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14724150]
>  in CASSANDRA-9664 there are issues dealing with updates to individual cells 
> which can mask data from the base table in the view when trying to filter 
> data correctly in the view.  
> Unfortunately, this same issue exists for all MV tables with regular columns.
> In the earlier versions of MV we did have a fix for this which I now can see 
> is ineffective for all situations.
> I've pushed some unit tests to show the issue (similar to tylers) and a fix.  
> The idea is we keep the base table's timestamps per cell as it so we can 
> *always* tell (per replica) which version of the record is the latest.  Since 
> the base table *always* writes the entire record to the view (part of our 
> earlier partial fix) we can ensure the view record contains *at least* views 
> primary key timestamp.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to