July 15, 20169 yr Hi guys, We've noticed an issue with EasySync and was wondering how MirrorSync addresses this scenario. Basically, as you probably know, EasySync gathers data by looping through the tables. The issue is that during that loop, another client can push data. So, the original client will pull records potentially that are orphans (since it's already pulled from a parent). If that makes any sense at all, can you address how MirrorSync avoids what I've been told is called "Collision Detection." tia, Barbara
July 16, 20169 yr I've never had a user report that issue, so I have a feeling that it's pretty rare. Without actually trying to reproduce the issue, I think that MirrorSync would write the orphan records and then pick up the missing parent record on the next sync. Theoretically, this should be solvable by using a single long transaction for the sync (using the JDBC driver) and set the transaction isolation level to read_committed, which means you're only reading things that existed when the transaction first started. In practice, I've never tested whether or not the FileMaker JDBC driver supports this transaction isolation level.
July 16, 20169 yr Author Thanks for the response, Jesse. Yes, I agree it might be rare. We noticed it when testing side-by-side. Yes, the next sync would pick up the missing parent, but it might also pick up more orphans.
Create an account or sign in to comment