Hi All,

I’m using UltraliteJ on Android 3.1 synchronizing against Mobilink 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.”


asked 18 Sep '12, 07:15

David's gravatar image

accept rate: 50%

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.

permanent link

answered 18 Sep '12, 09:20

Bill%20Somers's gravatar image

Bill Somers
accept rate: 40%

edited 18 Sep '12, 09:28

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?

permanent link

answered 18 Sep '12, 09:54

PhilippeBertrand%20_SAP_'s gravatar image

accept rate: 22%

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
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 18 Sep '12, 07:15

question was seen: 2,430 times

last updated: 27 Sep '12, 11:50