Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-5010

Filter HFiles based on TTL

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.94.0
    • None
    • None

    Description

      In ScanWildcardColumnTracker we have

       
        this.oldestStamp = EnvironmentEdgeManager.currentTimeMillis() - ttl;
      
        ...
      
        private boolean isExpired(long timestamp) {
          return timestamp < oldestStamp;
        }
      

      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.

      Attachments

        1. 5010.patch
          44 kB
          Ted Yu
        2. ASF.LICENSE.NOT.GRANTED--D1017.1.patch
          42 kB
          Phabricator
        3. ASF.LICENSE.NOT.GRANTED--D1017.2.patch
          42 kB
          Phabricator
        4. ASF.LICENSE.NOT.GRANTED--D909.1.patch
          31 kB
          Phabricator
        5. ASF.LICENSE.NOT.GRANTED--D909.2.patch
          32 kB
          Phabricator
        6. ASF.LICENSE.NOT.GRANTED--D909.3.patch
          32 kB
          Phabricator
        7. ASF.LICENSE.NOT.GRANTED--D909.4.patch
          35 kB
          Phabricator
        8. ASF.LICENSE.NOT.GRANTED--D909.5.patch
          37 kB
          Phabricator
        9. ASF.LICENSE.NOT.GRANTED--D909.6.patch
          40 kB
          Phabricator

        Issue Links

          Activity

            People

              mikhail Mikhail Gryzykhin
              mikhail Mikhail Gryzykhin
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: