You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Priyank Porwal (Jira)" <ji...@apache.org> on 2020/01/13 22:11:01 UTC

[jira] [Updated] (PHOENIX-5676) Inline-verification from IndexTool does not handle TTL/row-expiry

     [ https://issues.apache.org/jira/browse/PHOENIX-5676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Priyank Porwal updated PHOENIX-5676:
------------------------------------
    Description: If a data-table has TTL on it, it's indexes inherit the TTL too. Hence when we run IndexTool with verification on such tables and it's indexes, rows that are near expiry will successfully get rebuilt, but may not be returned on verification read due to expiry. This will result in index verification problem and may also fail rebuild job.  (was: If a data-table has TTL on it, it's indexes inherit the TTL too. Hence when we run IndexScrutiny on such tables and it's indexes, scrutiny's attempts to find matching index rows for near-expiry data rows results in no-matches since the index row gets expired before the read from data-region mapper. The same happens in the MR job for the other direction Index->Data.

This does not impact correctness of indexing design, but makes it very inconvenient to get a clean scrutiny run. All reported invalid rows have to be matched against the table TTL, which is non-trivial exercise.

IndexScrutiny itself could detect such expired rows when the matching pair is not found and not report them as INVALID_ROWS. Perhaps a new counter for EXPIRED_ROWS should be added as well for better visibility. )

> Inline-verification from IndexTool does not handle TTL/row-expiry
> -----------------------------------------------------------------
>
>                 Key: PHOENIX-5676
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5676
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.15.1, 4.14.3
>            Reporter: Priyank Porwal
>            Assignee: Abhishek Singh Chouhan
>            Priority: Major
>             Fix For: 4.15.1, 4.16.0
>
>
> If a data-table has TTL on it, it's indexes inherit the TTL too. Hence when we run IndexTool with verification on such tables and it's indexes, rows that are near expiry will successfully get rebuilt, but may not be returned on verification read due to expiry. This will result in index verification problem and may also fail rebuild job.



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