1

I'm trying to pin down something in the Gemfire documentation around region back-ups.

http://gemfire.docs.pivotal.io/geode/reference/topics/cache_xml.html#region

Scroll down to the SCOPE attribute...

Using the SCOPE attribute on REGION-ATTRIBUTES I'm assuming that SCOPE="DISTRIBUTED-ACK" would mean a SYNC back-up operation on a REGION and that SCOPE="DISTRIBUTED-NO-ACK" means a ASYNC back-up operation.

The REGION in question is PARTITIONED. I understand that REPLICATED regions default to DISTRIBUTED-ACK.

Would this assumption be correct? e.g. that via configuration Gemfire allows to configure SYNC or ASYNC back-up operations for REGION entry updates.

David Brimley
  • 216
  • 2
  • 6
  • Welcome to Stack Overflow! You can take the [tour](http://stackoverflow.com/tour) first and learn [How to Ask a good question](http://stackoverflow.com/help/how-to-ask) and create a [Minimal, Complete, and Verifiable](http://stackoverflow.com/help/mcve) example. It will be easier for us to help you. – MrLeeh Jan 04 '17 at 14:23

1 Answers1

1

Backups actually operate at the level of disk stores and files, not individual regions. The backup operation will create a copy of all of the disk store files, which may contain data for many regions with different scopes. The gfsh backup disk-store command will always wait for the backup to complete. So the region scope doesn't really affect whether the backup command is synchronous or asynchronous.

If you use DISTRIBUTED_NO_ACK scope, it does mean that a put could complete before all members receive the update, so technically there is no guarantee that a put on a NO_ACK region will be part of a backup that happens after the put.

Dan Smith
  • 481
  • 2
  • 3
  • Hi Dan, I should re-phrase my question slightly, I'm interested in the nature of the replica operation. e.g. when I do a put into a region it will go to the primary owner of that bucket and then a replica will be placed onto another member of the cluster. I wanted to know if this behaviour can be modified to be either sync or async using the SCOPE attribute. In that the PUT will return instantly after it hits the primary bucket owner if ASYNC replicas are enabled. – David Brimley Jan 05 '17 at 09:42
  • Ah. Well, DISTRIBUTED_NO_ACK scope works they way you describe, but it can only be used with replicated regions. Partitioned regions only support fully synchronous replication. – Dan Smith Jan 05 '17 at 16:01
  • Thats very interesting, I thought it was the other way around. FULL SYNC on REPLICATED and a choice of ASYNC or SYNC on PARTITIONED – David Brimley Jan 10 '17 at 11:33