Palash Chauhan created PHOENIX-7756:
---------------------------------------

             Summary: Compaction for uncovered indexes using data table TTL
                 Key: PHOENIX-7756
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7756
             Project: Phoenix
          Issue Type: Improvement
            Reporter: Palash Chauhan
            Assignee: Palash Chauhan
             Fix For: 5.4.0, 5.3.1


Phoenix can prevent creation of an uncovered global secondary index on a table 
that has conditional TTL defined if the TTL expression cannot be evaluated on a 
row from the uncovered index. PHOENIX-7753 allows it for tables with relaxed 
conditional TTL (see PHOENIX-7667) since immediate masking after TTL expiry is 
not required and we can wait till expired data table row is purged by 
compaction. However, it depends on read-repair or a background verification 
process to purge the orphan index rows. If there are no reads for a long time 
or in the absence of a background verification process, orphan index rows can 
pile up in the uncovered index. 

We can modify Phoenix Compaction of an uncovered index to scan data table rows 
and infer whether the index row should be compacted. 
UncoveredGlobalIndexRegionScanner already has the code to extract data table 
row keys from index rows and scan the data table rows - which can be used 
during compaction as well.  



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

Reply via email to