phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kadir OZDEMIR (Jira)" <>
Subject [jira] [Updated] (PHOENIX-5708) GlobalIndexChecker returns unverified index row cells
Date Mon, 03 Feb 2020 18:47:00 GMT


Kadir OZDEMIR updated PHOENIX-5708:
    Attachment: PHOENIX-5708.master.002.patch

> GlobalIndexChecker returns unverified index row cells
> -----------------------------------------------------
>                 Key: PHOENIX-5708
>                 URL:
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 5.0.0, 4.14.3
>            Reporter: Kadir OZDEMIR
>            Priority: Major
>             Fix For: 4.15.0, 5.1.0
>         Attachments: PHOENIX-5708.master.001.patch, PHOENIX-5708.master.002.patch
>          Time Spent: 10m
>  Remaining Estimate: 0h
> In the current implementation, unverified index row cells can be visible to clients.
One scenario where this can happen is as follows. A client attempts to write a full data
row but the data row write fails. This leaves an unverified index row corresponding to this
data row.  Later, the client attempts to write to the same row but this time it writes a
partial data row such that one of the covered columns does not have a value in this partial
write. After this, there will be two versions of the index row, the first one is unverified
and the second one is verified. When the client reads the row back from the index table, since
HBase will merge two versions of this index row, the client will get some cells from the unverified
index row such that these cells are not in the verified index row. This is a bug. The fix
is very simple. In GlobalIndexChecker, we need to remove the cells from the previous versions
of the row. Please note that every index row is composed of cells with the same timestamp
by design. By implementing this fix, we will ensure that this property always holds.

This message was sent by Atlassian Jira

View raw message