-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
3 - M (<= 1 month)
-
6330
-
Not Needed
If the sync client ends up in a situation where there are a lot of local changes to upload and a lot of changes to download, it can end up taking minutes-to-hours to apply downloaded changes because OT has to transform every received instruction against every local instruction. This is a worst-case-scenario for sync, and we currently do not have a way of pro-actively reporting it back to the server/customer.
We should use timing within the integrate_server_changesets function to check if integrating a download message takes an excessive (configurable/conservative) amount of time and report that to the server. The server can then insert an error into the app log and/or trigger a client reset with recovery.