Darrel Schneider created GEODE-8130:
---------------------------------------

             Summary: 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


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)

Reply via email to