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)