We are seeing the following undesirable behavior under Mobilink 220.127.116.1142 with SQL Anywhere 12 as the remote (and consolidated) database:
Here is the relevant extract from the dbmlsync log:
I. 2014-03-26 04:26:09. Next sync scheduled on Mar 26 04:27:00am I. 2014-03-26 04:26:09. Log scan starting at offset 0126193676807 I. 2014-03-26 04:26:09. Hovering at end of active log E. 2014-03-26 04:27:45. SQL statement failed: (-832) Connection error: Timeout occurred while waiting for connection response E. 2014-03-26 04:27:53. SQL statement failed: (-143) Column 'table_name' not found E. 2014-03-26 04:27:53. Error while executing hook procedure sp_hook_dbmlsync_sql_error. I. 2014-03-26 04:27:53. ROLLBACK E. 2014-03-26 04:27:53. Unable to connect to remote database.
Note: logging stops at that point; timing coincides with the event log for the "normal" shutdown of the service.
Has anyone seen this before? Seems like a bug to me...
A failure to connect to the remote database is considered a fatal error to dbmlsync and it will stop in a normal fashion. Even if you were able to ignore the specific hook errors, dbmlsync will continue to try and connect to the database for dbmlsync's operational purposes, and dbmlsync will still need to shut down.
Why is dbmlsync getting disconnected from the remote database server? The network between dbmlsync and the remote database should be reliable - if it is not reliable, it shouldn't be used. The architecture model should be that dbmlsync is as close to the remote database as possible - if the network is unreliable, it may have to reside on the same machine.
The network between the MobiLink server and the remote is expected to be unreliable and MobiLink / dbmlsync should be able to handle this situation automatically. (However, dbmlsync still may prematurely shut down in a service mode unless you have applied CR #720564, in 18.104.22.16806 or later).
answered 27 Mar '14, 10:53