[ https://issues.apache.org/jira/browse/GEODE-9279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17352726#comment-17352726 ]
ASF subversion and git services commented on GEODE-9279: -------------------------------------------------------- Commit c6d1da1059328daa0731d8493146152bb6a99594 in geode's branch refs/heads/develop from Donal Evans [ https://gitbox.apache.org/repos/asf?p=geode.git;h=c6d1da1 ] GEODE-9222: Remove ByteArrayWrapper from RedisSet (#6487) - Replace uses of ByteArrayWrapper with byte[] in RedisSet, NullRedisSet and other Set-related classes - Replace internal Set in RedisSet with fastutil ObjectOpenCustomHashSet - Replace the membersAddAll and membersRemoveAll methods with looped calls to membersAdd and membersRemove, as ObjectOpenCustomHashSet does not implement removeAll, which causes errors when comparing the contents of Sets - Change implementation of sunionstore, sinterstore and sdiffstore to correctly use ObjectOpenCustomHashSet - Moving the set commands executor to a shared object rather than allocating it for each operation - Replace uses of collection implementations with interfaces where possible - Make RedisSet.smembers() public, similar to RedisHash.hkeys() and RedisHash.hvalue() - Change RedisSet.toString to be in line with other Redis classes - These changes break the sizing tests, but these tests have been determined to be inconsistent due to the current implementation of sizeable in RedisSet. GEODE-9279 will address the issues with sizeable in a future commit - These changes break backwards compatibility with Geode 1.14.0 Authored-by: Donal Evans <doev...@vmware.com> > Make redis deltas implement Sizeable > ------------------------------------ > > Key: GEODE-9279 > URL: https://issues.apache.org/jira/browse/GEODE-9279 > Project: Geode > Issue Type: Improvement > Components: redis > Affects Versions: 1.15.0 > Reporter: Hale Bales > Assignee: Donal Evans > Priority: Major > Fix For: 1.15.0 > > > In order for rebalances to work correctly, we must keep track of a close > estimate of the amount of data that we have. RedisString, RedisSet, and > RedisHash all inherit from RedisData, which implements Sizeable already. The > current calculations for set and hash are approximately correct, but do not > take into account the size of the delta that gets created when the data is > stored. In order to account for that additional overhead, the delta must also > implement Sizeable and keep track of its size. This will allow us to be much > more accurate in our calculations of bytes in use for Set and String, > potentially exactly accurate. -- This message was sent by Atlassian Jira (v8.3.4#803005)