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

Benedict commented on CASSANDRA-7403:
-------------------------------------

I don't feel strongly about it tbh, however value comparison for reconciliation 
is basically a last resort and I think using TTLs here is better because:

1) value reconciliation does not apply uniformly for a single update, so we 
could end up with a mix of both TTLs and values from different writes, where we 
might have a chance to uniformly select with TTLs
2) There is some indication the data itself takes greater precedence if you 
want to keep it longer



> Reconciliation doesn't consider fields specific to expiring cells 
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-7403
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7403
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Sam Tunnicliffe
>            Assignee: Benedict
>             Fix For: 2.1.0
>
>
> Reconciling 2 ExpiringColumns which are equal in every way except for the 
> localExpirationTime field will always favour the instance on which reconcile 
> is called as fields specific to expiration are not considered. 
> This is actually beneficial in pre-2.1 versions as in 
> AtomicSortedColumns.Holder.addColumn we call reconcile on the new column, 
> which 'wins' the reconcilliation and so the localExpirationTime is 
> effectively extended.
> From 2.1 onwards, reconcile is actually called on the existing value (in 
> BTreeSortedColumns.ColumnUpdater) and so it wins the reconcilliation and the 
> ttl doesn't get extended. The same thing happens in the iterator returned 
> from MergeIterator.Reducer.getReducer() so we see the same behaviour when 
> merging cells from the multiple SSTables and/or memtables.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to