[ https://issues.apache.org/jira/browse/HBASE-8809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vasu Mariyala updated HBASE-8809: --------------------------------- Attachment: DeleteMarkers.doc Attaching the document which explains the behavior of the api with respect to different parameters (raw on scan object, keep deleted cells and scan type). Have a question about the behavior of the api when keep deleted cells is false and setRaw is true for a user scan. (The current behavior is it includes the delete markers) > Include deletes in the scan (setRaw) method does not respect the time range > or the filter > ----------------------------------------------------------------------------------------- > > Key: HBASE-8809 > URL: https://issues.apache.org/jira/browse/HBASE-8809 > Project: HBase > Issue Type: Bug > Components: Scanners > Reporter: Vasu Mariyala > Assignee: Lars Hofhansl > Fix For: 0.98.0, 0.95.2, 0.94.10 > > Attachments: 8809-0.94.txt, 8809-trunk.txt, DeleteMarkers.doc > > > If a row has been deleted at time stamp 'T' and a scan with time range (0, > T-1) is executed, it still returns the delete marker at time stamp 'T'. It is > because of the code in ScanQueryMatcher.java > {code} > if (retainDeletesInOutput > || (!isUserScan && (EnvironmentEdgeManager.currentTimeMillis() - > timestamp) <= timeToPurgeDeletes) > || kv.getMemstoreTS() > maxReadPointToTrackVersions) { > // always include or it is not time yet to check whether it is OK > // to purge deltes or not > return MatchCode.INCLUDE; > } > {code} > The assumption is scan (even with setRaw is set to true) should respect the > filters and the time range specified. > Please let me know if you think this behavior can be changed so that I can > provide a patch for it. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira