hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19826) Provide a option to see rows behind a delete in a time range queries
Date Tue, 30 Jan 2018 12:17:00 GMT

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

Duo Zhang commented on HBASE-19826:

JDBC is always the first choice when using Phoenix but some people are writing the table using
HBase API and querying through Phoenix till they migrate their legacy application.

HBase-2.0 is a big release that breaks things, so I think it may also be a good chance for
Phoenix to drop some legacy support when upgrading to HBase-2.0?

> 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
> With the previous version, we workaround the same in preStoreScannerOpen hook. For reference
> {code}
> 	    @Override
> 	    public KeyValueScanner preStoreScannerOpen(final ObserverContext<RegionCoprocessorEnvironment>
> 	        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

View raw message