commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles Sadowski (Jira)" <>
Subject [jira] [Commented] (COLLECTIONS-728) BloomFilter contribution
Date Fri, 01 Nov 2019 14:27:00 GMT


Gilles Sadowski commented on COLLECTIONS-728:

Thanks for explaining again.
 I somewhat get the rationale until here:
{quote}True the Hasher could be limited to a StaticHasher and the Shape would not be needed
as the Static Hahser contains the Shape it was built with, but in the general case a Hasher
does not have a Shape.
Where it seems that the API could (?) be improved so as to avoid having to pass {{null}} when
the "shape" argument is unused.
{quote}We will always be behind when it comes to implementing new algorithms using new hash
Just _one_ release behind. People who want new features should be around to provide a patch
and help with the release.
{quote}It is better to allow the users in the field to add algorithms as they see fit.
I don't think so; it leads to unnecessary duplication (with a possible consequence being the
"broken" algorithm case which you mention).
{quote}not allowing for addition of others is very limiting.
Not really if there is an "active community" (i.e. people willing to work together towards
releasing new features). Once the design is in place, adding variants of existing features
should be straightforward; a new hash function could be added at time "t0" and a release candidate
could be prepared at "t0" + 72 hours (to allow for review), then published another 3 days
{quote}they would be unable to add their "broken" hashing to the factory would be an inhibitor.
"Commons" would provide a library of algorithms through its implementation of the {{Hasher.Factory}}
interface, but application developers could define their own for a particular purpose (such
as working around issues of their own ;)).
{quote} why not provide a factory that [...] has the convenience methods to add hash functions?
Because it puts the burden on us to ensure thread-safety (while it is trivially accomplished
with immutable instances).

> BloomFilter contribution
> ------------------------
>                 Key: COLLECTIONS-728
>                 URL:
>             Project: Commons Collections
>          Issue Type: Task
>            Reporter: Claude Warren
>            Priority: Minor
>         Attachments:,,,
> Contribution of BloomFilter library comprising base implementation and gated collections.

This message was sent by Atlassian Jira

View raw message