Details
Description
during the STRIPE compaction,
deletes(tombstones) are being dropped in 2 cases.
1. Compaction including L0 (includeL0 == true)
2. L0 has no files (canDropDeletesWithoutL0 == true)
To drop delete marker and keep the consistency during compaction,
All of HFiles in the stripe has to be selected, just like major compaction.
otherwise, after the compaction only delete markers would be gone,
and deleted cells (which is in the not-selected HFiles) are going to be alive again.
In my cluster, there was no file on L0(canDropDeletesWithoutL0==true) and not all files are selected for compaction, so some of deleted rows have come back alive and appears when i get or scan after compactions.
I made a patch about it.
it checks if all files are selected before we set the majorRange of compaction request .