[infinispan-issues] [JBoss JIRA] (ISPN-5465) Replace the Hash function with a segment mapper
Dan Berindei (JIRA)
issues at jboss.org
Fri Jul 3 08:59:02 EDT 2015
[ https://issues.jboss.org/browse/ISPN-5465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Berindei reassigned ISPN-5465:
----------------------------------
Assignee: Dan Berindei
> Replace the Hash function with a segment mapper
> -----------------------------------------------
>
> Key: ISPN-5465
> URL: https://issues.jboss.org/browse/ISPN-5465
> Project: Infinispan
> Issue Type: Feature Request
> Components: Configuration, Core
> Affects Versions: 7.2.1.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 8.0.0.Final
>
>
> Currently, we allow the user to customize the mapping of keys to CH segments with a custom {{Hash}} function. But the Hash function doesn't give the user direct control over where a key is mapped, the ultimate location depends on the CH implementation. The CH implementation is also customizable, but it's much harder for the user to get right.
> We should replace the Hash with something like this:
> {code:java}
> public interface SegmentMapper {
> public int getSegment(Object key, int numSegments);
> {code}
> This should also be easier to implement than the {{Grouper}} interface we have now, when the user only needs co-location and doesn't need additional grouping features like {{cache.getGroup(name)}}.
> I think this should also help internally, e.g. to replace the {{GroupingConsistentHash}} that needs to be re-created on every topology update with a constant {{SegmentMapper}} wrapper. It might also help to compute the segment of a key only once and save it in the context, instead of computing it every time we need to know the location of a key.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the infinispan-issues
mailing list