You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Nabarun Nag (Jira)" <ji...@apache.org> on 2021/09/03 02:24:08 UTC

[jira] [Closed] (GEODE-8130) Change the way redis uses geode regions to save memory and fix race conditions

     [ https://issues.apache.org/jira/browse/GEODE-8130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nabarun Nag closed GEODE-8130.
------------------------------

> Change the way redis uses geode regions to save memory and fix race conditions
> ------------------------------------------------------------------------------
>
>                 Key: GEODE-8130
>                 URL: https://issues.apache.org/jira/browse/GEODE-8130
>             Project: Geode
>          Issue Type: Improvement
>          Components: redis
>            Reporter: Darrel Schneider
>            Assignee: Darrel Schneider
>            Priority: Major
>             Fix For: 1.14.0
>
>
> Currently the geode redis implementation uses a replicate region to hold every redis key as the region key (as a String object) and the region value is an enum describing the type. Another partitioned regioni is used to also store the redis key as the region key (as a ByteArrayWrapper object) and the region value is an object that is basically a Set or HashMap.
> This uses extra memory, the replicate does not scale well, is slower (updating two regions is slower than one region), and trying to update two regions to hold the same logical redis "key" has race conditions which can lead to inconsistent data.
> The solution is to have a single partitioned region that can hold multiple types of data (sets, hashes, strings, lists, etc). 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)