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

Kadir OZDEMIR updated PHOENIX-5708:
-----------------------------------
    Attachment: PHOENIX-5708.4.x-HBase-1.5.001.patch

> GlobalIndexChecker returns unverified index row cells
> -----------------------------------------------------
>
>                 Key: PHOENIX-5708
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5708
>             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.4.x-HBase-1.5.001.patch, 
> 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
(v8.3.4#803005)

Reply via email to