3.3.1.3 Slow Sync
Slow Sync is a secondary means to ensure the consistency of the data between each pair of machines. The main part of the Distributed File System Replication (DFS-R) protocol of exchanging version vectors can in some circumstances, such as garbage collection of tombstone updates, leave inconsistencies between machines undetected. The slow sync process is periodically run on a client for each replicated folder to detect and correct such inconsistencies. <34>
When specifying the Slow Sync protocol, the following states are referred to.
SlowSyncInit: The client starts a slow sync with the server for a particular replicated folder by requesting a version chain vector from the server via the RequestVersionVector method, setting requestType to REQUEST_SLOW_SYNC.
SlowSync Requesting Version Vector: The client is waiting for the server's asynchronous callback to the AsyncPoll method to supply the requested version chain vector.
SlowSync Poll Again: The client registers an additional poll with the server.
SlowSync Request Records: The client requests all of the replicated folder's non-tombstone update records from the server and processes them.
The state transitions associated with Slow Sync are shown in the following state diagram.
Figure 7: Slow Sync state machine