bcooney Posted July 15, 2016 Posted July 15, 2016 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
Jesse Barnum Posted July 16, 2016 Posted July 16, 2016 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.
bcooney Posted July 16, 2016 Author Posted July 16, 2016 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.
Recommended Posts
This topic is 3052 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now