Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
Low
Description
In LCR's get reduced, we currently do this:
if (t.timestamp() < getMaxPurgeableTimestamp() && t.data.isGcAble(controller.gcBefore))
Should call the expensive getMaxPurgeableTimestamp only after we have called the cheap isGcAble.
Marking this as a bug since it can cause pathological performance problems (CASSANDRA-11831).
Have verified that this is not a problem in 3.0 (CompactionIterator does the check in the correct order).