Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
We can provide an option (something like seePastDeleteMarkers) in a scan to let the user see the versions behind the delete marker even if keepDeletedCells is set to false in the descriptor.
With the previous version, we workaround the same in preStoreScannerOpen hook. For reference PHOENIX-4277
@Override public KeyValueScanner preStoreScannerOpen(final ObserverContext<RegionCoprocessorEnvironment> c, final Store store, final Scan scan, final NavigableSet<byte[]> targetCols, final KeyValueScanner s) throws IOException { if (scan.isRaw() || ScanInfoUtil.isKeepDeletedCells(store.getScanInfo()) || scan.getTimeRange().getMax() == HConstants.LATEST_TIMESTAMP || TransactionUtil.isTransactionalTimestamp(scan.getTimeRange().getMax())) { return s; } ScanInfo scanInfo = ScanInfoUtil.cloneScanInfoWithKeepDeletedCells(store.getScanInfo()); return new StoreScanner(store, scanInfo, scan, targetCols, c.getEnvironment().getRegion().getReadpoint(scan.getIsolationLevel())); }
Another way is to provide a way to set KEEP_DELETED_CELLS to true in ScanOptions of preStoreScannerOpen.
Attachments
Issue Links
- blocks
-
PHOENIX-4378 Unable to set KEEP_DELETED_CELLS to true on RS scanner
- Closed
- is related to
-
HBASE-19706 Cells are always eclipsed by Deleted cells even if in time range scan
- Resolved