You are right that in the current geode releases, the ConcurrentMap methods added since java 1.8 just use the default implementations provided on the interface. Some issues with this have been identified but so far no changes have been made. You can read more about this: https://issues.apache.org/jira/browse/GEODE-2727
On Tue, Jul 3, 2018 at 6:46 AM <[email protected]> wrote: > Hi, > > I currently have a Geode client/server topology with a partitioned region. > I'm looking to make use of ConcurrentMap operations from inside the client > (PROXY region). > > The JavaDoc on the Region interface states: > > The semantics of the ConcurrentMap methods on a Partitioned Region are > consistent with those > * expected on a ConcurrentMap. In particular multiple writers in different > JVMs of the same key in > * the same Partitioned Region will be done atomically > > > This suggests that all ConcurrentMap operations are performed atomically when > there are multiple writers in different JVMs (clients). I noticed in the > Region interface that there is a specific declaration of the putIfAbsent > method but no declaration of other ConcurrentMap methods such as compute and > merge. > > Please can you confirm if all ConcurrentMap methods (specifically compute and > merge) provide guarantees around atomicity as it looks like they simply use > the default implementation defined in ConcurrentMap. > > Thanks in advance for your help. > > Kind regards, > Phil > > > > >
