SIOS DataKeeper allows a volume that is being resynced to be accessed and written to. During Resync, DataKeeper makes multiple passes through the bitmap, synchronizing the data corresponding to each dirty bit found. While this is happening, writes that occur on the volume can dirty blocks that have already been synchronized. Under certain conditions, a resync can fail to complete due to constant write activity on the source volume.
In order to allow a resync to complete while writes are occurring on the source volume, DataKeeper may temporarily delay incoming writes in order to allow the last dirty blocks to be synchronized. The ResyncLowWater registry value specifies the maximum number of dirty blocks that can be present in the bitmap in order for DataKeeper to delay writes. The ResyncBlockWritesTimeoutMs registry value specifies the maximum amount of time that writes will be delayed (in milliseconds).
Note that DataKeeper will not delay writes until resync has attempted several resync passes – specifically, 10% of the value specified in the MaxResyncPasses registry value. For example, if MaxResyncPasses is set to the default of 200, DataKeeper will not delay writes until the 21st pass through the bitmap, and will only delay writes if the number of dirty blocks is less than or equal to ResyncLowWater.
If writes are delayed but resync does not complete within the amount of time specified by ResyncBlockWritesTimeoutMs, the resync fails, writes are permitted to complete, and the mirror goes into the Paused state.
To disable write delay completely, set ResyncLowWater to 0.