Akanksha-kedia commented on PR #18898:
URL: https://github.com/apache/pinot/pull/18898#issuecomment-4853657638

   cc @Jackie-Jiang @klsince @xiangfu0 — requesting your review.
   
   ## What this PR does
   
   Implements bloom filter rebuild detection when the fpp (false positive 
probability) config changes (#17137).
   
   **Problem:** When a user updates fpp in their bloom filter config, Pinot's 
segment pre-processor silently kept the old — now misconfigured — bloom filter. 
Other index types (H3, range, text) already detect config changes and trigger 
rebuilds; bloom filters were the odd one out.
   
   **Approach:** Follows the H3 index resolution change-detection pattern.
   1. Reads the numHashFunctions stored in the existing bloom filter's data 
buffer (byte offset 9)
   2. Computes the expected value from the new fpp config: ceil(-ln(fpp) / 
ln(2))
   3. If they differ → marks the index for rebuild
   
   **Files changed:**
   - BloomFilterHandler.java — added isFppChanged() and 
computeExpectedNumHashFunctions() hooked into needUpdateIndices() / 
updateIndices()
   - SegmentPreProcessorTest.java — added testBloomFilterFppUpdate covering 
both v1 and v3 segment formats
   
   **Change scope:** Purely additive — existing segments with unchanged fpp are 
unaffected.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to