GTRR Question

Help, Tips, and Tricks for deploying GoZync: our "sync" engine for FileMaker Go.
Posts: 15
Joined: Mon Sep 16, 2013 7:40 am
PostPosted: Tue Oct 22, 2013 4:01 am
Hi Folks,

I'm having some issues in that the mobile file sometimes loses connection after the network check but before pushing/pulling table contents i.e during the pull metadata and settings / check GTRR portions of the scripts.

The Issue is that if connection is lost at this point we get "There was an error with the GTRR setup. Please take another look at the script \"Setup Go To Related Records (TOName)\"." error message. Now i realise that this can be caused and probably is by connecting over 3g / poor connection's ect.

The problem is that when the file is next synced it pull's down every record in every table regardless of whats already on the mobile file. However in our case we are syncing 40 tables and this full resync is 20,000 records. Is there a way of modifying it so that it doesn't have to do this full resync after the GTRR or if it must reset it only has to reset the first table it failed on.

i.e
pull metadata for TO 1 - OK
pull metadata for TO 2 - OK
pull metadata for TO 3 - Failed - error displayed and sync attempt halts
pull metadata for TO 4 - Not Run

Next time a sync is run.

pull metadata for TO 1 - OK
pull metadata for TO 2 - OK
pull metadata for TO 3 - Last run failed so full resync of this table is performed
pull metadata for TO 4 - OK
SeedCode Staff
SeedCode Staff
Posts: 475
Joined: Wed Jan 02, 2013 11:47 am
PostPosted: Wed Oct 23, 2013 10:31 am
One explanation (maybe the only explanation) would be that the LastTimeZync field in the "TableOccurrences" record for that TO in GoZyncMobile is somehow being cleared (that's what would happen if you were to click the Reset button). I'm not sure why that would happen, but you can check the log for it after you have one of those interruptions (before the next sync). I assume this is only happening to iPad users? Can you reproduce it in your development files on your desktop?

Jeff
Posts: 15
Joined: Mon Sep 16, 2013 7:40 am
PostPosted: Thu Oct 24, 2013 1:32 am
Hi Jeff,

This is happening on both ipad and desktop versions. from that i can see after this occurs instead of one record for each gzh_ and each gzm_ table the TableOccurrences table only has 1 record in it and that record has a fully qualified foreign key of ?::
This suggests to me that we are getting a partial query result back from the SQL query when the connection is getting interrupted. Which is meaning $CountOfTOs has a value of 1, This allows the Loop to run and marks one record in the TableOccurrences table, this will allow the section of the Pull Metadata and settings down from host script that removes records that weren't updated to delete them. This will then cause the "Connect TOs to sync engine" section to error.

the log shows

10/23/2013 8:13:09 AM - Started

Split Total
---------------------------------------------------------
0:00:00 - 0:00:00 - Connecting to server...
0:00:02 - 0:00:02 - Network Check complete
0:02:42 - 0:02:44 - On Connection from Mobile Complete
0:00:01 - 0:02:45 - Getting settings from Host...
0:00:00 - 0:02:45 - Selecting tables in GZH TOs Greater than 0
0:00:00 - 0:02:45 -
0:00:00 - 0:02:45 - Completed Record Marking
0:00:00 - 0:02:45 - Remove Records greater than 0
0:00:01 - 0:02:46 - Removed Records that were not updated
0:00:00 - 0:02:46 - Connecting ?

0:00:00 - 0:02:46 - problem connecting TO's to sync engine.
0:00:03 - 0:02:49 - There was an error with the GTRR setup. Please take another look at the script "Setup Go To Related Records (TOName)".

0:00:00 - 0:02:51 - All Done
SeedCode Staff
SeedCode Staff
Posts: 475
Joined: Wed Jan 02, 2013 11:47 am
PostPosted: Thu Oct 24, 2013 6:23 am
Can you send me your files, along with full-access login information, and a detailed description of how I can reproduce this situation? Send the files to [email protected].
Posts: 15
Joined: Mon Sep 16, 2013 7:40 am
PostPosted: Tue Oct 29, 2013 8:13 am
Hi Jeff,

Unfortunately due to the NDA we are working under with the client i can't send you the files, The issue is intermittent anyway and is not easily reproducible. I believe what is happening is that the connection is being interrupted during the sql query in the pull metadata and settings down from host script. This is causing the sql to return a single broken response which triggers the loop to mark records for deletion. Thereby causing the reset to occur.

I have added a check to the script which errors the script out an finishes the sync with an error if the $TO_Count variable is below a specified number. This will allow the sync to error out without reseting and force the user to rerun the sync again which should prevent it doing a full resync.
SeedCode Staff
SeedCode Staff
Posts: 475
Joined: Wed Jan 02, 2013 11:47 am
PostPosted: Tue Oct 29, 2013 8:27 am
Sounds like a good solution. I'll leave the offer open to review your files if you'd like me to do that.

Return to GoZync

Who is online

Users browsing this forum: No registered users and 2 guests

cron
(855) SEEDCODE
[email protected]
Follow us: