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)