Ujjawal Kumar created PHOENIX-7945:
--------------------------------------

             Summary:  Retain orphaned delete markers (without puts) during 
Phoenix compaction
                 Key: PHOENIX-7945
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7945
             Project: Phoenix
          Issue Type: Improvement
            Reporter: Ujjawal Kumar


Orphaned delete markers (DeleteFamily markers without corresponding puts) are 
dropped during major compaction before Phoenix CompactionScanner can process 
them.



HBase {{DropDeletesCompactionScanQueryMatcher.tryDropDelete()}} drops delete 
markers whose timestamp < {{earliestPutTs}} when {{KeepDeletedCells=TTL}} and 
{{timeToPurgeDeletes}} is 0. Since {{earliestPutTs}} is a *global minimum 
across ALL HFiles* being compacted, a put in any other row HFile can cause 
orphaned markers to be dropped before Phoenix CompactionScanner ever sees them.
h2. Fix

Set {{timeToPurgeDeletes = Long.MAX_VALUE}} in 
{{{}setScanOptionsForFlushesAndCompactions(){}}}. This short-circuits 
{{tryDropDelete()}} so HBase never purges delete markers -- Phoenix 
CompactionScanner then applies its standard max-lookback logic.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to