Jump to a problem, path or page
Jump to a problem, path or page
01 · Develop the design
Represent membership as a fixed bit array and deterministic key-to-position mapping. Insert sets all positions and lookup checks them; configuration compatibility and safe bit updates preserve the no-false-negative property.
Stage 1
Specify the hash mapping
Use a supported deterministic hash strategy over bytes. Record seed, algorithm version and bit ordering in the serialized header.
Stage 2
Protect insert visibility
Concurrent read-modify-write bit operations can lose updates. Start with a lock or explicitly state single-threaded access.
Stage 3
Test guarantees, not luck
Check that inserted keys remain positive. Do not assert that every absent key must be negative.
02 · Work through the method
03 · Justify the choices
What does a positive membership response mean?
The key may have been inserted
Colliding bit positions can produce false positives.
When may filters be merged using bitwise OR?
Only when bit count, hashes, seed and encoding are compatible
Different mappings destroy the membership guarantee of a merged filter.
Why is clearing bits to delete unsafe?
Other inserted keys may share those bits
Ordinary Bloom filters do not track which keys own a shared bit.
04 · Plan the evidence