Hello.

Le mer. 22 avr. 2020 à 14:56, Gary Gregory <garydgreg...@gmail.com> a écrit :
>
> Hi All,
>
> I'd like to pat ourselves on the back for a smooth ride so far in bringing
> in new code for a new non-trivial feature :-)
>
> IMO, let's not get hung up on generics for the first cut of the Bloom
> Filter code. Why? Because generics are erased by the compiler and we can
> always add them later without break binary compatibility. Now, if adding
> generics later would require other changes or other changes would be
> desired with said generics which would end up breaking BC, then we should
> pause and consider why that is. Any thoughts on that?
>
> WRT to 'fitting in' Commons Collection, I would like someone else to reply
> (please ;-)
> - Does the BF code implement some Commons Collection interfaces?

No.

> - Does the BF code extend  some Commons Collection classes?

No.

> - Does the BF code reuse Commons Collection utilities?

Yes, in class "HasherBloomFilter":
import org.apache.commons.collections4.iterators.EmptyIterator;
import org.apache.commons.collections4.iterators.IteratorChain;

But it also imports from "Commons Codec", in classes "Murmur128x64Cyclic"
and "Murmur32x86Iterative":
import org.apache.commons.codec.digest.MurmurHash3;

> Tangent: There were UML tools/Maven plugins in the past that could
> visualize these kinds of relationships, has anyone used any in the recent
> past? Anything FOSS we could use?

Some info is provided in the "Jdepend" report.

Gilles

>
> Gary
>
> On Wed, Apr 22, 2020 at 7:00 AM Claude Warren <cla...@xenei.com> wrote:
>
> > Bloom filters should not use generics.  That has been my stated opinion.
> > They are not like other collections in that you don't get out what you put
> > in.  They are collections of hashes so the idea that generics should be
> > used to somehow define what goes in is misleading.
> >
> > If commons-collections is supposed to be all about putting things into a
> > collection and getting them back out then perhaps bloom filters do not
> > belong here.
> >
> > The only major point of contention is should the package end up looking
> > like the Guice bloom filter package.  In my opinion the Guice package is
> > very restrictive.  It does not allows for different hashing
> > implementations, it forces a one to one correspondence between an Object
> > and the filter, this makes putting properties of an Object into the filter
> > as separate items difficult if not impossible, and it makes creating
> > partial filters for matching the same still more difficult.
> >
> > Any more complex usage of Bloom filters (e.g. in genomics) will be much
> > harder if not impossible.
> >
> > Going the Guice route also begs the question: Why not just use Guice?
> >
> > The intention of this contribution was a framework that allows the
> > developer to build Bloom filters that
> > a) met the requirements of the application.
> > b) were easy to share between applications.
> > c) could implement most strategies for Bloom filters.
> >
> > The Guice implementation is easy enough to construct with the framework as
> > defined in the current Commons Collections Bloom filter code.  And I have
> > no objection to providing a Simple Bloom filter implementation that does
> > that.  But doing so should not modify the framework in such a way as to
> > make other usage more difficult.
> >
> > There have been lots of good conversations and lots of improvements since
> > the code was contributed.  I have several open source projects that
> > utilized the original code and have been able to easily modify them to use
> > the Commons versions as development and improvements progressed.  I would
> > hope to continue to be able to do that as the code moves to a releasable
> > state.
> >
> > As I said above, it may be that commons collections is not the place for
> > Bloom filters.  Perhaps they belong in codec or in its own project.  I
> > leave that to others to decide.
> >
> > Claude
> >
> >
> >
> >
> > On Wed, Apr 22, 2020 at 12:47 AM Gilles Sadowski <gillese...@gmail.com>
> > wrote:
> >
> > > Hello.
> > >
> > > > > [...]
> > > > >
> > > >
> > > > Attempting to re-awaken this thread.
> > > >
> > > > IMO the bloomfilter package is currently under development. The
> > original
> > > contributor was working through submitting Bloom filter functionality in
> > > parts. My involvement was to ensure the current code that was initially
> > > merged was documented (in javadoc) and functioned as described. This led
> > to
> > > changes of the current functionality and ideas for changes. There were
> > many
> > > ideas in this thread history that were discussed, some agreed and not yet
> > > implemented, some still open for discussion.
> > > >
> > > > Development has stalled and the vision for the final package has not
> > > been completed. At present the bloomfilter added to collections does not
> > > use generics and it has very little to do with java.util.Collection. So
> > is
> > > it even in the remit of commons-collections?
> > >
> > > What would be the alternative(s)?
> > >
> > > >
> > > > I suggested moving to a development branch while the package
> > > functionality is stabilised if any other contributors wish to work on
> > this.
> > >
> > > IIRC, in Commons, branches other than "master" have usually become stale,
> > > unfortunately.  They've been rare, and worked on by a single person...
> > > Perhaps somehow mark the feature as not ready, and to be removed from
> > > the release branch (?).
> > >
> > > > I have left development alone as it seems redundant to progress without
> > > a defined scope for the ultimate functionality.
> > >
> > > Do you mean that progress depends on intended usage?
> > >
> > > >
> > > > Opinions on how to proceed?
> > >
> > > I got lost along the way; sorry.
> > > Are there still uncertainties about the "basic" features?
> > >
> > > Regards,
> > > Gilles
> > >
> > > >
> > > > Alex

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to