Copy the entries of a region in a WAN site onto the same region in another WAN site, using a gateway sender.
The wan-copy region
command copies region entries from one WAN site to another by sending the entries in batches of configurable size to a different WAN site by the selected gateway sender. Batch size is specified as number of entries per batch.
You can specify a maximum copy rate to prevent excessively stressing the sending or receiving WAN sites. This rate is configured in entries per second.
Callbacks (cache listeners, replication to other WAN sites) are not executed in the remote WAN site for the entries copied.
Primary uses of this command:
Disaster Recovery: Recovery of a WAN site after a disaster in which the failed site needs to be put into service again with the data from another WAN site.
New Site Initialization: Adding a new WAN site to a GemFire system in which the data in the new WAN site must be initially loaded from an existing WAN site.
You can stop the execution of a currently running instance of this command by using the same command with the --cancel
option.
Requirements:
The wan-copy region
command requires that:
Availability: Online. You must be connected in gfsh
to a JMX Manager member to use this command.
Syntax:
wan-copy region --region=value --sender-id=value [--max-rate=value] [--batch-size=value]
[--cancel]
Name | Description | Default Value |
---|---|---|
‑‑region | Required. The region for which the data is to be copied. | |
‑‑sender-id | Required. The gateway sender to be used to copy the region entries. | |
‑‑max-rate | The maximum copy rate in entries per second. If the sender is parallel, the maximum rate limit is applied to each server hosting buckets for the region to be copied. | 0 (unlimited) |
‑‑batch-size | The size of the batches, in number of entries, to be used to copy the region entries. | 1000 |
‑‑cancel | Cancel a running wan-copy region command for the specified sender and region. If the sender-id and region passed are both “*”, then all running wan-copy region commands will be canceled. |
Table 1. Copy Region Parameters
Example Commands:
wan-copy region --region=myRegion--sender-id=mySender --max-rate=1000 --batch-size=100
wan-copy region --region=/overload --sender-id=sender1 --cancel
wan-copy region --region=* --sender-id=* --cancel
Sample Output:
gfsh>wan-copy region --region=/overload --sender-id=myParallelSender --max-rate=100 --batch-size=100
Member | Status | Message
-------------- | ------ | -----------------------
server-sender | OK | Entries copied: 333
server-sender3 | OK | Entries copied: 334
server-sender2 | OK | Entries copied: 333
gfsh>wan-copy region --region=/overload --sender-id=mySerialSender --max-rate=100 --batch-size=100
Member | Status | Message
-------------- | ------ | ----------------------------------------------------------------------
server-sender2 | OK | Sender mySerialSender is serial and not primary. 0 entries copied.
server-sender3 | OK | Sender mySerialSender is serial and not primary. 0 entries copied.
server-sender | OK | Entries copied: 1000
gfsh>wan-copy region --region=/overload --sender-id=sender1 --cancel
Member | Status | Message
-------------- | ------ | ------------------
server-sender2 | OK | Execution canceled
server-sender | OK | Execution canceled
server-sender3 | OK | Execution canceled
gfsh>wan-copy region --region=myRegion --sender-id=myParallelSender --max-rate=100 --batch-size=10
Member | Status | Message
-------------- | ------ | ------------------------------------------------------
server-sender2 | OK | Operation canceled after having copied 10 entries
server-sender | OK | Operation canceled after having copied 10 entries
server-sender3 | OK | Operation canceled after having copied 10 entries
gfsh>wan-copy region --region=myRegion --sender-id=myParallelSender --max-rate=100 --batch-size=10
Member | Status | Message
-------------- | ------ | ----------------------------------------------------------------------
server-sender2 | OK | Sender mySerialSender is serial and not primary. 0 entries copied.
server-sender3 | OK | Sender mySerialSender is serial and not primary. 0 entries copied.
server-sender | OK | Operation canceled after having copied 4 entries
Error Messages:
Example of wan-copy region
with an invalid region:
gfsh> wan-copy region --region=/regionX --sender-id=sender1
Member | Status | Message
-------------- | ------ | -------------------------
server-sender | ERROR | Region /regionX not found
server-sender2 | ERROR | Region /regionX not found
server-sender3 | ERROR | Region /regionX not found
Example of wan-copy region
with a stopped gateway sender:
gfsh> wan-copy region --region=/region1 --sender-id=sender1
Member | Status | Message
-------------- | ------ | -----------------------------
server-sender | ERROR | Sender sender1 is not running
server-sender2 | ERROR | Sender sender1 is not running
server-sender3 | ERROR | Sender sender1 is not running
Example of cancel of wan-copy region
when no command is running:
gfsh> wan-copy region --region=/region1 --sender-id=sender1 --cancel
Member | Status | Message
-------------- | ------ | ------------------------------------------------------------------------------------
server-sender2 | ERROR | No running command to be canceled for region /region1 and sender sender1
server-sender | ERROR | No running command to be canceled for region /region1 and sender sender1
server-sender3 | ERROR | No running command to be canceled for region /region1 and sender sender1
Example of cancel of all running wan-copy region
commands:
gfsh> wan-copy region --region=* --sender-id=* --cancel
Member | Status | Message
-------------- | ------ | ------------------------------------------------------------------------------------
server-sender2 | OK | Executions canceled: [(myRegion,mySender1), (myRegion,mySender)]
server-sender | OK | Executions canceled: [(myRegion,mySender1), (myRegion,mySender)]
server-sender3 | OK | Executions canceled: [(myRegion,mySender1), (myRegion,mySender)]