Kadir OZDEMIR created PHOENIX-6150:
--------------------------------------

             Summary: Repair ahead global indexes after concurrent mutations
                 Key: PHOENIX-6150
                 URL: https://issues.apache.org/jira/browse/PHOENIX-6150
             Project: Phoenix
          Issue Type: Improvement
    Affects Versions: 4.15.0, 5.0.0
            Reporter: Kadir OZDEMIR


Concurrent mutations processed by the IndexRegionObserver coproc leave (mutable 
global) index rows in the unverified state and these unverified rows are 
repaired by the GlobalIndexChecker coproc when they are read (i.e., scanned).  
However, we do not have to wait for the scan operations to repair these 
unverified rows. IndexRegionObserver can repair them asynchronously soon after 
they written. There are two main reasons for proactively repairing index rows. 

Efficient Repair: Repairing index rows within IndexRegionObserver eliminates 
RPCs to read data table rows as IndexRegionObserver will read data table rows 
locally. 

Faster Scans:  Read repair by GlobalIndexChecker is done one index row at a 
time and each repair can take several tens of milliseconds. This adds 
additional latency on the scan operations. Reducing the number of such read 
repairs will improve scan performance.  

This repair ahead can be optional and configurable.  We can also have metrics 
to monitor the number of index rows repaired ahead.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to