Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-7229

Leverage bloom filters for single key point lookups

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.1.3
    • 5.2.0, 5.2.1, 5.3.0
    • None
    • None

    Description

      PHOENIX-6710 enabled bloom filters by default when Phoenix tables are created. However, we were not making use of it because Phoenix translates point lookups to scans with the scan range [startkey, stopkey) where startkey is inclusive and is equal to the row key and stopkey is exclusive and is the next key after the row key. 

      This fails the check inside the hbase code in StoreFileReader#passesBloomFilter because it applies bloom filter only to scans which are gets and a scan is a GET only if startkey = stopkey and both are inclusive. This is defined here Scan#isGetScan

      We recently have some customers whose use case involves doing point lookups where the row key is not going to be present in the table. Bloom filters are ideal for those use cases.

      We can change our scan range for point lookups to leverage Bloom filters.

      Attachments

        Issue Links

          Activity

            People

              tkhurana Tanuj Khurana
              tkhurana Tanuj Khurana
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: