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)