cancel
Showing results for 
Search instead for 
Did you mean: 

Combining download-only tables and download-only-synchronization in Ultralite

Former Member
2,690

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

Accepted Solutions (0)

Answers (2)

Answers (2)

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.

philippefbertrand
Participant
0 Kudos

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?

Former Member
0 Kudos

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.

0 Kudos

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?