Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Won't Fix
-
3.0.0-alpha-1
-
None
-
None
-
None
Description
Originally tested with HBase Shell delete command, but it's also reproducible with Client API Delete operation.
The problem is that the memstore scan filter logic for versions only counts the amount of cells it has read so far, then once the VERSIONS limit has been reached, it just skips the remaining cells. If a delete marker is inserted on a given cell version, that cell will not be accounted, then oldest versions that should had disappeared will now pop up on the scan results.
Example, for a cell from a CF with max versions of 3, that has 4 versions T1, T2, T3 and T4, scan correctly shows T4, T3 and T2. If a delete is triggered for any for these 3 versions, say T3, scan now will show: T4, T2 and T1, but T1 was supposed to be gone by the time T4 was added.
Attachments
Attachments
Issue Links
- is duplicated by
-
HBASE-23036 Scan returns wrong data when version is used in CF
- Resolved
- is related to
-
HBASE-26276 Allow HashTable/SyncTable to perform rawScan when comparing cells
- Resolved
- is superceded by
-
HBASE-15968 New behavior of versions considering mvcc and ts rather than ts only
- Resolved
- links to