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)