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

Patrick Johnsn updated GEODE-8733:
----------------------------------
    Issue Type: Bug  (was: Improvement)

> Local region holds onto data by reference
> -----------------------------------------
>
>                 Key: GEODE-8733
>                 URL: https://issues.apache.org/jira/browse/GEODE-8733
>             Project: Geode
>          Issue Type: Bug
>          Components: regions
>    Affects Versions: 1.13.0
>            Reporter: Patrick Johnsn
>            Priority: Major
>
> If the client region is configured as `CACHING_PROXY`, the data on the server 
> and the data in the local region can become out of sync because the local 
> region stores things by reference, for example, if you were to do:
>  
> {code:java}
> list.add(1);
> list.add(2);
> list.add(3);
> list.add(4);
> map.put(1, "a");
> map.put(2, "b");
> map.put(3, "c");
> map.put(4, "d");
> Class1 obj = new Class1(1, list, map);
> region.put(obj.id, obj);
> map.clear();
> list.clear();
> map.put(12, "This shouldn't be here");
> list.add(38);
> System.out.println(region.get(1).toString());{code}
>  
>  the values retrieved by region.get(1) would look like "Class1\{id=1, 
> someList=[38], someMap={12=This shouldn't be here}}" even though that update 
> was made AFTER the put.
>  
> If you queried the server, you'd get the expected values because you're going 
> directly to the server instead of the local region.
>  
> This issue was originally reported against Spring Data Geode but is 
> reproducible in plain Geode.
> Original ticket for context: https://jira.spring.io/browse/DATAGEODE-388



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

Reply via email to