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
- relates to
-
PHOENIX-7244 BloomFilter tests that can be run with HBase 2.4 and 2.5 profiles
- Open
- links to