[infinispan-dev] Switch to AffinityPartitioner by default, or even enforce it

Sanne Grinovero sanne at infinispan.org
Thu Aug 18 08:43:32 EDT 2016


Hi all,

I would like for Infinispan to use the AffinityPartitioner by default,
replacing the HashFunctionPartitioner.

This should have zero impact as AffinityPartitioner extends
HashFunctionPartitioner and only changes semantics when a key is
implementing AffinityTaggedKey.

So the difference would be that for those using AffinityTaggedKey,
these would work out of the box without having to change the
configuration as well.

WDYT?

As a further but separate improvement, I'd change the
AffinityPartitioner to use delegation to the HashFunctionPartitioner
instead of extending it, and always wrap any user configured
partitioner with the AffinityPartitioner.
This would ensure that AffinityTaggedKey work as expectedf even when
people experiment with other partitioners, and avoids some complexity
of configuring Infinispan:

"oh, I didn't know that changing hashing function would break feature [x]..."

For the record, we're using AffinityTaggedKey in our evil plans to
improve query performance, but it's also sparked interest as a very
useful function by the HACEP team.

I have patches ready...

Thanks,
Sanne


More information about the infinispan-dev mailing list