This repository was archived by the owner on Jul 30, 2024. It is now read-only.
This repository was archived by the owner on Jul 30, 2024. It is now read-only.
fromfile and intersection and union deals with self.bitarray #32
Once you deserialize a serialized
BloomFilterobject theself.bitarraylength might differ because of added padding.https://github.com/jaybaird/python-bloomfilter/blob/master/pybloom/pybloom.py#L271
Here difference in length due to the trailing bits is ignored.
No such accounting of differing bitarray lengths are being done here https://github.com/jaybaird/python-bloomfilter/blob/master/pybloom/pybloom.py#L224 or https://github.com/jaybaird/python-bloomfilter/blob/master/pybloom/pybloom.py#L238 . Here the
bitarrayunion and intersection will fail if the bitarray.length( ) are different. The lengths may differ because of a roundtrip through serialization deserialization, even when the capacity and error-rates are the same.I think the correct thing to do here is to strip off the padding in
fromfileto ensure that thebitarrayrepresentation is exactly the same