Recently some synchronizations have been failing. The last message shown in the replication monitor and in their local replication logs is:
The process is waiting for a response from the query '{call sys.sp_MSinitdynamicsubscriber(?,?,?,?,90,1,0)}'
On at least some of our subscribers, before receiving the dynamicsubscriber message one of the following errors occur:
The merge process is retrying a failed operation made to article 'myTable' - Reason: 'The merge process was unable to synchronize the row.'.
or
The merge process is retrying a failed operation made to article 'myTable' - Reason: 'Violation of PRIMARY KEY constraint 'PK__myTable__7DADF02A8A30D649'.
'myTable' is marked as "download only". Any idea how we are getting PK violations on a download only table?
Some subscribers with this issue eventually get a successful sync. It usually takes an abnormal amount of time. The vast majority timeout.
Additional Info: We are using sql merge replication with pull subscriptions. We use filters to keep data separate among users. We do not 'Automatically generate snapshots'. I've tried to reinitialize the subscription. Also tried removing the subscription and their local database. The agents QueryTimeOut is set to 36000. Some users have synced as long as 5 hours without resolve.