[infinispan-issues] [JBoss JIRA] (ISPN-12172) Make the number of segments dynamic
Dan Berindei (Jira)
issues at jboss.org
Mon Jul 27 10:21:00 EDT 2020
Dan Berindei created ISPN-12172:
-----------------------------------
Summary: Make the number of segments dynamic
Key: ISPN-12172
URL: https://issues.redhat.com/browse/ISPN-12172
Project: Infinispan
Issue Type: Bug
Components: Configuration, Core
Affects Versions: 11.0.1.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 12.0.0.Final
Now that the data container and stores store segment information, it's becoming harder and harder to change the number of segments to accommodate a growth in the number of nodes and preserve all the data.
We should investigate removing the {{numSegments}} configuration attribute and using an {{effectiveNumSegments}} that is the first power of 2 that's bigger than 10 * <cluster size> (customizable, maybe?) and at least as big as the previous {{effectiveNumSegments}}.
The number of segments increase would be decided by the coordinator on join and would require state transfer, as {{SyncConsistentHashFactory}} would not assign the split segments to exactly the same owners (although it would have to be pretty close in order to make this practical).
We would like to avoid updating the segment of every persisted entry on {{effectiveNumSegments}} changes, so the segment stored in persisted entries should be computed based on the maximum value we will allow for {{effectiveNumSegments}}, e.g. 2^16. We would then use a shift+mask to obtain the "effective segment" of the key, and range queries when obtaining all the keys in a segment.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the infinispan-issues
mailing list