Pause and Resume options
Within the Data management workspace, dual-write has several mapping statuses. The default value for a table map is Not running. When the mapping is enabled, it begins an Initializing status. When the initializing process is completed, mapping runs. When a map is running, you’ll have the option to stop or pause it. Pausing allows new requests to queue and it will return to processing when the mapping is started again. If the map is resumed, the process catches up on the queued records from when it was paused. Otherwise, you can pause the map, which stops all service calls.
The Pause and Resume options allow a map to continue processing without initializing again, as with the Stop option. The map needs to be in Running status for you to be able to pause it. Generally, the functionality is designed for planned or unplanned maintenance, not for import scenarios or data migration. You can trigger the action to pause by using the Pause button on the Dual-write page in the Data management workspace; it’s also multiselect. However, if you select two maps, and one map isn’t in Running status, then neither map pauses because the action can’t be taken with both mappings at once.
When the map is paused, the actions to insert and update are queued, and no data is lost. When the mapping is resumed, the queued requests are processed.
The Pause button is only visible if you’ve selected a map in the running status. When you select a paused map, the Resume button is visible. Before you resume, when a mapping is paused, you can select the Queued Records tab, which will show a list of incoming requests for the queued records. When you resume, dual-write processes and catches up on the queued transactions.
More considerations for pausing your maps:
- When a map is paused, the dependent maps are also paused. For example, if you pause the Customers V3 maps, several other maps pause their status too.
- When a map is in the paused state, delete actions aren’t supported. For example, if you still have Customers V3 paused and you try to delete a record, you’ll receive an error message stating that the entity is in a queued state.
However, you also need to consider that, when the map is resumed, the queued records are sequential so no data loss occurs. Each transaction is performed in transactional order, row by row.
Limitations to queued records are:
- When a map is paused, you can view how many records are queued, but they’re only held in Microsoft Azure storage for a total of seven days. After seven days, the records are released and are no longer be queued. If errors occur when you resume a map, ways to validate and view the errors during catch up are available.
- The queue size is limited to 1GB of data. If this size is exceeded, data is lost. When you fix the error, you can retry a selected transaction, or you can retry all transactions. If you no longer need a record, you can delete the selected row or all rows as well. When a retry is successful, the retry status shows as completed and an extra info log shows that the retry has worked and processed.