[ https://issues.apache.org/jira/browse/HBASE-5010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176023#comment-13176023 ]
Hudson commented on HBASE-5010: ------------------------------- Integrated in HBase-TRUNK #2579 (See [https://builds.apache.org/job/HBase-TRUNK/2579/]) HBASE-5010 Filter HFiles based on TTL - add TestScannerSelectionUsingTTL HBASE-5010 Filter HFiles based on TTL (Mikhail) tedyu : Files : * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingTTL.java tedyu : Files : * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java * /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompaction.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestMemStore.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestMinVersions.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWildcardColumnTracker.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java * /hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java > Filter HFiles based on TTL > -------------------------- > > Key: HBASE-5010 > URL: https://issues.apache.org/jira/browse/HBASE-5010 > Project: HBase > Issue Type: Bug > Reporter: Mikhail Bautin > Assignee: Mikhail Bautin > Attachments: 5010.patch, D1017.1.patch, D1017.2.patch, D909.1.patch, > D909.2.patch > > > In ScanWildcardColumnTracker we have > {code:java} > > this.oldestStamp = EnvironmentEdgeManager.currentTimeMillis() - ttl; > ... > private boolean isExpired(long timestamp) { > return timestamp < oldestStamp; > } > {code} > but this time range filtering does not participate in HFile selection. In one > real case this caused next() calls to time out because all KVs in a table got > expired, but next() had to iterate over the whole table to find that out. We > should be able to filter out those HFiles right away. I think a reasonable > approach is to add a "default timerange filter" to every scan for a CF with a > finite TTL and utilize existing filtering in > StoreFile.Reader.passesTimerangeFilter. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira