cancel
Showing results for 
Search instead for 
Did you mean: 

synchronization complete but no update take effect

Former Member
0 Kudos
8,865

Hello, I connect to Mobilink server using Sybase Central.

I get the following message on my side (client): ---------- Starting synchronization Connecting Upload starting Finishing upload Disconnecting Done, with errors Sync failed: Synchronization server failed to commit the upload Results of this synchronization: Failed with error: -794 Download timestamp: 2011-09-15 09:47:02.328000 Upload failed No ignored rows No part download remaining Authentication value: 0 (0x0000)

Server log file gives me this message:

[10012] The consolidated and remote databases disagree on when the last synchronization took place, the progress offsets are 11 in the consolidated database and 3 in the remote database. The remote is being asked to send a new upload that starts at the last known synchronization point I. 2011-09-15 09:44:07. <82> Progress offsets for the publications that are explicitly involved in the current synchronization I. 2011-09-15 09:44:07. <82> Subscription id 2: consolidated progress 11 and remote progress 3 I. 2011-09-15 09:44:07. <82> Progress offsets for the publications that are not explicitly involved in the current synchronization I. 2011-09-15 09:44:07. <82> Subscription id 1: consolidated progress 0 and remote progress 0 I. 2011-09-15 09:44:07. <82> Synchronization complete

I dont see any update onto my DB.

Do you have any idea on what's going on?

Thanks in advance. S

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member

Here's what I think led to your original problem.

  1. You used a synchronization model to deploy to an UltraLite remote database (UDB file) on your PC, and synchronized that at least once from the PC.
    -> That changes the UDB file to have a remote ID and a non-zero progress offset.
  2. You then copied that UDB file to your Android device and synchronized several times.
    -> Each sync bumps up the progress offset in the Android copy of the UDB file, but not in the PC copy.
  3. You then redeployed to the PC copy of the UDB file.
    -> The PC copy will then have the same remote ID, but a much earlier progress offset, causing the error whether you sync it from the PC or copy it to the Android device and sync it.

You either needed to copy the UDB back from the Android device before redeploying to it, or not copy a synchronized UDB file to your Android device.

philippefbertrand
Participant

In addition to Caution that @Volker provided a link to (copied below), I would add the following:

You must not copy an UltraLite database that has been synchronized from on client to another, or share ML remote ids. If you wish to copy a database, you must reset the ML remote id. Each client must have a unique ML remote id to maintain independent state.

Caution

Because UltraLite increments the progress counter each time a synchronization occurs, you cannot synchronize an UltraLite database to different consolidated databases. If the progress counter value is not zero and does not match that sequence number stored in the consolidated database, MobiLink synchronization reports an offset mismatch and synchronization fails. You cannot replace an UltraLite database with a backup copy if the progress counter is older than the current value.

VolkerBarth
Contributor

The error message tells that there's obviously a progress mismatch between your consolidated and remote databases. That means they're out of sync. This may happen when you use an older copy of the remote (e.g. a backup) to sync with the current consolidated, and the remote had successfully synced in the meantime.

(The opposite situation with a "old consolidated" can happen as well.)

That would often be a valid reason to re-build the remote. For SQL Anywhere clients, the DBMLSync -rb option may help to cure the symptom, as then the client's progress offset will be used to decide what to download. However, that may or may not lead to inconsistent data.

For Ultralite clients, the following doc part may explain more.

Former Member

thank you for this. It worked but sometimes it doesnt work as I get this result:

Sync failed: MobiLink communication error -- code: 86, parameter: 404, system code: 0 Results of this synchronization: Failed with error: -1305 Stream error code: 86 System error code: 0 Download timestamp: 2011-09-16 11:47:19.343000 Upload failed No ignored rows No part download remaining Authentication value: 0 (0x0000)

doc does not give me much info about it. Any idea on what the problem might be?

Former Member
0 Kudos

when instead I try to sync from my client android application I get the same error

09-16 13:33:17.856: WARN/System.err(419): com.ianywhere.ultralitejni12.implementation.JniException: UltraLiteJ Error[-1305]: MobiLink communication error -- code: 57, parameter: donotshowmyparam, system code: %3

Please, what does "code: 57" mean?

VolkerBarth
Contributor

MobiLink errors and warnings are documented in the docs. You may just enter the error code in the docs's "Search box".

Here is the doc for error code 57.

(Note, warnings have code > 0, errors < 0).

Besides that, I can't comment on the source of these errors. But my impression is that the new errors you have reported have a different background than the error message from your question.

philippefbertrand
Participant

If the ml_reset_sync_state procedure that @volker suggested does not work and/or you correctly identified subscription 2 for this particular remote and reset its progress to 2 or 3 and that did not work (did you commit?), then you need professional help.

While this forum is ideal for quick answers and getting community help, I think this issue may be just too complicated for here. I therefore suggest that you open a support case to help you resolve this quickly.