[ https://issues.apache.org/jira/browse/CASSANDRA-7403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14054820#comment-14054820 ]
Sam Tunnicliffe commented on CASSANDRA-7403: -------------------------------------------- Sorry, my fault for screwing up the rebase of the 7268 patch for 2.1. [~slebresne], your latest update looks good to me. > 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 rc3 > > Attachments: 7403-followup.txt > > > 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)