Hi All, I’m using UltraliteJ 12.0.1.3769 on Android 3.1 synchronizing against Mobilink 12.0.1.3769 on MS Windows Server 2008 R2 and MS SqlServer 2005 as consolidated database. In ultralite I have created a publication that contains just Download-Only tables (created with Synchronize Download option). I’m synchronizing with default syncParam.setDownloadOnly(false); Sometimes I see this warning in Mobilink logs: [10012] The consolidated and remote databases disagree on when the last synchronization took place, the progress offsets are x in the consolidated database and x+1 in the remote database. The remote is being asked to send a new upload that starts at the last known synchronization point I’m not worry about because it resolve automatically, but sync stats shows an abnormally high time in upload. For example: PHASE: receive_upload: 500 I wonder if it is safe to combine Download-Only tables and synchronizing always with syncParam.setDownlodadOnly(true). I think this will avoid sending any kind of upload info (neither Ultralite progress counter) so making synchronization faster and avoiding [10012] warning. But I’m worry about download-only-synchronization documentation remarks: “When you have remotes that are synchronized by download-only synchronization, you should regularly do a full synchronization to reduce the amount of log that is scanned by the download-only synchronization. Otherwise, the download-only synchronizations will take an increasingly long time to complete.” Thanks |
The "receive_upload" phase is poorly named. At the beginning of a sync, the client sends the server a bunch of data telling it stuff like the user name password and what to do in the database. We can have a "receive_upload" phase, even if there is no actual upload data in it. Equivalently, the "sending_download" phase doesn't necessarily involve sending download data. I think better names would be "receive_commands" and "send_responses". You can confirm that your download-only syncs are actually download-only by looking for the phrase "COMMIT Transaction: Upload" in the log. It will be there for a successful sync if and only if you had an upload. Your concerns about expensive log scanning probably don't apply to UL for Android, because it doesn't have a log. |
The documentation regarding the log scan applies to UltraLiteJ for J2SE and BlackBerry, not for Android. It also only applies to regular tables. Download-only tables have no log of transactions to sync. Is there any other kinds of operations or synchronizations that you are doing along with your download-only syncs? Since you are using download-only tables, you can try just doing a regular synchronization without syncParam.setDownloadOnly(true) - does that make the warnings go away? Hi Philippe, Currently, download-only tables (created with "Synchronize Download") are always synchronized using default syncParam.setDownloadOnly(false). With this settings I'm watching the [10012] warning regularly.
(19 Sep '12, 03:35)
David
Replies hidden
That setup should be good (download tables with a normal sync). Can you post an exact instance of the 10012 warning from the ML log?
(27 Sep '12, 11:50)
Tim McClements
|