Starting with 12.0.1, the 32-bit MobiLink server is no longer supported on 64-bit operating systems. This means that if you accidentally CONTINUE to use the 32-bit MobiLink server and client on the same machine after upgrading to 12.0.1, you will suddenly get a "Protocol version mismatch" as shown below. That's because the old version 12.0.0 32-bit version of mlsrv12.exe is not removed by the 12.0.1 installation even though a 12.0.1 copy is not installed. However, the 32-bit version of dbmlsync.exe is installed. That means when you run the same sync setup that worked before, it starts failing with the oh-so-meaningful "Protocol version mismatch". As Volker pointed out in a comment, this is not a bug... but it sure as heck is confusing :) I. 2011-03-07 09:24:00. SQL Anywhere MobiLink Server Version 12.0.0.2601 ... I. 2011-03-07 09:30:07. System event on shared administrative connection: SELECT property_set_name, property_name, property_value FROM ml_property WHERE component_name = ? ORDER BY property_set_name I. 2011-03-07 09:30:07. Translated SQL: SELECT property_set_name, property_name, property_value FROM ml_property WHERE component_name = ? ORDER BY property_set_name E. 2011-03-07 09:30:31. (,) [-10004] Protocol version mismatch -- expecting 49 but received 65 I. 2011-03-07 09:30:31. (,) failed reading command with id:1 and handle:1 I. 2011-03-07 09:30:31. (,) Synchronization failed I. 2011-03-07 09:29:40. SQL Anywhere MobiLink Client Version 12.0.1.3152 ... I. 2011-03-07 09:30:31. Waiting for MobiLink to apply upload E. 2011-03-07 09:30:31. Error code from MobiLink server: -10244 E. 2011-03-07 09:30:31. Server error: The MobiLink server has encountered an error and the synchronization has been aborted E. 2011-03-07 09:30:31. Data read failed. Requested 2 bytes but got 0 bytes. E. 2011-03-07 09:30:31. Unable to read 0 bytes. I. 2011-03-07 09:30:31. End synchronizing subscription(s) 'clifit' I. 2011-03-07 09:30:31. Disconnecting from MobiLink server |
FWIW, the Linux installer does upgrade any existing mlsrv12 binaries to ones that won't run (i.e. they spit out an error message). I cannot speak for the Windows installer, though. |
Hmm, Breck, is that a question? - AFAIK, 12.0.1 doesn't install the 32-bit ML server on 64-bit systems (possibly leaving 12.0.0 32-bit ML server components "un-upgraded"). Cf. http://dcx.sybase.com/index.html#1201en/sachanges/new1201-sectc-3789111.html (as you will have checked already...).
@Breck: To clarify: T don't claim to know whether this behaviour should be regarded as a bug or not. - Personally, I find it at least surprising when an upgrade neither does update nor does remove a component when that component is considered obsolete:)