[
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 <[email protected]>
> 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)