Kadir OZDEMIR created PHOENIX-5708:
--------------------------------------

             Summary: 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: 4.14.3, 5.0.0
            Reporter: Kadir OZDEMIR
             Fix For: 4.15.0, 5.1.0


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