Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Normal
Description
In AtomicBTreePartition#addAllWithSizeDelta we check update.deletionInfo().isLive() to determine whether the PartitionDeletion should be passed to the supplied IndexTransaction. This is incorrect and it results in the PartitionDeletion being passed on if either a partition delete or any range tombstones are present in the update.
We need to change:
if (!update.deletionInfo().isLive())
to
if (!update.deletionInfo().getPartitionDeletion().isLive())
Note that the built-in indexes don't currently do anything with the deletionTime and so aren't affected, but any custom implementation which didn't examine it properly might remove data from its index where it shouldn't