Geoffrey Jacoby created PHOENIX-5507:
----------------------------------------

             Summary: Local Index Rebuild Issues
                 Key: PHOENIX-5507
                 URL: https://issues.apache.org/jira/browse/PHOENIX-5507
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.14.3, 4.14.2, 4.15.0, 5.1.0
            Reporter: Geoffrey Jacoby


An umbrella for dealing with issues around rebuilding local indexes. 

While investigating PHOENIX-5502, a problem with synchronously rebuilding 
global indexes, I realized that the rebuild functionality for local indexes 
seems to have several problems.
 # Same as PHOENIX-5502, synchronous local index rebuilds will run a delete 
against the old index data, then rebuild. But the deletes will have server time 
of the rebuild, and the rebuilt index rows should have the same timestamp as 
their original data, so the index data will be hidden behind the deletes.
 # The IndexTool theoretically allows for doing rebuilds on local indexes, but 
it has a worrisome check that prints a warning message if any split has taken 
place during the rebuild, saying the rebuild has to be redone. We should 
probably disable splitting during the rebuild, but then how to guarantee it 
gets re-enabled if the rebuilding client goes away?

So at the very least, a solution to the above two issues would have to be found 
to make local index rebuild work. But it also suggests a larger question – 
given that local indexes have stronger consistency guarantees than global, is 
"local index rebuild" actually a necessary feature (vs a drop and rebuild if 
you somehow messed up a local index out-of-band.)?



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

Reply via email to