On Mon, 25 Mar 2024 at 13:12, Gary Gregory <garydgreg...@gmail.com> wrote:

> Hi All,
>
> 4.5.0 will contain a new package for Bloom Filters.
>
> Since this is a new package and is non-trivial, I propose we release a
> version called 4.5.0-M1 or 4.5.0-beta1 to let users try this out while
> giving us the change to make breaking API changes if needed.
>
> Gary
>

+1

I have not looked at the Bloom filter package for a while. It is on my todo
list to check the API is consistently and correctly implemented by the
underlying classes.

The package also does not have any performance tests. It would be nice to
have some since Bloom filters are probabilistic structures that offer
speed-up over other data structures to track occurrences of objects whilst
compromising on the exactness of results, i.e they are configured with a
desired false-positive rate. At present the code is rather complex and it
would be nice to have some figures to show the advantages.

We should also get some closure on COLLECTIONS-842 [1] which is an
incompatibility between collections and default methods added to List in
JDK 21. I looked at this for a while but did not change anything in the
codebase. TLDR: you cannot compile collections with JDK 21 but you can run
it with JDK 21 if the binary is compiled for an earlier target. It affects
any class extending AbstractLinkedList (there are 3 in Collections). The
minimum effort would be to mark the AbstractLinkedList methods as
deprecated and in future to be changed to the same API as JDK 21. This
would leave the 4.X branch compile time limited to LTS JDKs up to 17.

Alex

[1] https://issues.apache.org/jira/browse/COLLECTIONS-842

Reply via email to