Does the scan and touch UDF touch all records in the DC or only the records that are originally written to the DC?
If XDR is active-active topology, what happens if client applications write data or update existing records in the destination cluster? Can the newly updated data in the destination cluster be overwritten by the data getting scanned, touched, and shipped in the source cluster?
How can we stop XDR recoveries that are triggered due to the scan and touch UDF?
We are expecting client applications to start writing to the set and are concerned that XDR might overwrite the new writes. How can we stop shipping records that have already been scanned and touched and waiting on the XTQ to be shipped?
Answer
A scan and touch UDF will scan whatever you’ve asked it to scan. For example, if you asked it to scan a specific namespace, it will touch every record in that namespace. Issuing a scan is a regular client operation, so it will include all records written to that namespace you asked it to scan on that DC whether it was a regular client write or XDR client write.
Yes, it is possible that XDR rewinds and scan/touches can overwrite newly updated records on the destination cluster.
You could try lowering the RPS (reads per second) on the scan to slow it down. It could help to prevent the XDR transaction queue from filling up too quickly.
You could abort the scan on the client side and then disassociate/reassociate the namespace on the source cluster.