[ 
https://issues.apache.org/jira/browse/HBASE-19826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16344790#comment-16344790
 ] 

Ankit Singhal commented on HBASE-19826:
---------------------------------------

{quote}In 2.0, there is a new behavior which also considers mvcc when deciding 
whether a put can be hide by a deleting marker. A put happens after a delete, 
even if timestamp of the delete is newer, the delete marker can not hide the 
put. Is this what you want?
{quote}
Actually, we want to see the put( at t1) arrived before the delete marker( at 
t2, where t2>t1) in a time range query(t1-1 to t2-1) with non-raw scan on a 
table, having keep deleted cells set to false in family descriptor

> Provide a option to see rows behind a delete in a time range queries
> --------------------------------------------------------------------
>
>                 Key: HBASE-19826
>                 URL: https://issues.apache.org/jira/browse/HBASE-19826
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ankit Singhal
>            Assignee: Ankit Singhal
>            Priority: Major
>             Fix For: 2.0.0
>
>
> 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
> {code}
>           @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()));
>           }
> {code}
> Another way is to provide a way to set KEEP_DELETED_CELLS to true in 
> ScanOptions of preStoreScannerOpen.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to