Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
0.3.3
-
None
Description
The TransactionProcessor coprocessor creates it's own StoreScanner instance to use for flush and compaction.
When it constructs the Scan to use for the scanner, it limits the versions returned:
scan.setMaxVersions(dummyTx.excludesSize() + 1);
This is based on the assumption that we only need to emit a single visible cell for each column (since other cells would normally be hidden). However, this assumption is not valid when the application relies on the use of multiple versions (for example in the readless increment implementation in CDAP).
We need to modify this to always use max versions, since we can't know what the application relies on.