[
https://issues.apache.org/jira/browse/PHOENIX-5503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kadir OZDEMIR updated PHOENIX-5503:
-----------------------------------
Attachment: PHOENIX-5503.master.002.patch
> 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: 5.0.0, 4.15.0, 4.14.3
> Reporter: Kadir Ozdemir
> Assignee: Kadir OZDEMIR
> Priority: Major
> Attachments: PHOENIX-5503.master.001.patch,
> PHOENIX-5503.master.002.patch
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> 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)