[ https://issues.apache.org/jira/browse/HBASE-8809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13701278#comment-13701278 ]
Lars Hofhansl commented on HBASE-8809: -------------------------------------- Committed to all branches. I beat you :) > 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: 8806-trunk-addendum.txt, 8809-0.94.txt, 8809-trunk.txt, > DeleteMarkers.doc, hbase-8809-0.94-addendum-example.patch, > hbase-8809-addendum-0.94-v0.patch > > > 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