[ 
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)

Reply via email to