Kadir Ozdemir created PHOENIX-5503:
--------------------------------------
Summary: IndexTool does not rebuild all the rows
Key: PHOENIX-5503
URL: https://issues.apache.org/jira/browse/PHOENIX-5503
Project: Phoenix
Issue Type: Bug
Affects Versions: 4.14.3, 5.0.0, 4.15.0
Reporter: Kadir Ozdemir
IndexTool builds a subset of the rows of an index table. The rows that are
created after the time specified by the timestamp of the PTable (i.e., table
metadata structure maintained in memory) for the index table are not rebuilt.
This timestamp is updated by the PTable builder, that is, at the time of
creating the PTable structure int memory. Based on the comment on the code (see
IndexTool.getJob()), this is done to "ensure index tables remains consistent
post population". Such consistency issue may exist for client side index build
but PHOENIX-5018 (server side index build) does not have such an issue.
However, PHOENIX-5018 did not change this behavior. In order to upgrade an
index table to PHOENIX-5156 (new index design), we need to rebuild all the rows
that are created before the table is upgraded (not before the timestamp of the
index table). Also, we may want to use the IndexTool rebuild an index table
online. In that case, we may want include as many rows as possible. This issue
is to make sure that IndexTool builds all the rows that exist at the time the
tool starts running.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)