Sam Tunnicliffe created CASSANDRA-7403:
------------------------------------------

             Summary: 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


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