on 2014 Mar 26 2:41 PM
We are seeing the following undesirable behavior under Mobilink 12.0.1.3942 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...
Thanks, Bob
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 12.0.1.3806 or later).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Jeff, actually the dbmlsync service is located on the same machine as the database server. We found the problem when we had it configured to use a DSN that connected using TCP/IP (so that we could specify both the local server and the standby/backup server host addresses in the DSN). I realize we can resolve this by using a direct connection (i.e. -c Server=xxx;DBN=xxx;) and that's the plan.
However I would still argue that the system should be more tolerant of local network errors, which in my experience are usually transitory. I understand that the synchronization process must stop when it encounters this sort of error, but why stop the service that attempts to synchronize every x minutes? It could very well succeed on the next attempt.
While I can follow your reasoning, wouldn't it be an option to make the dbmlsync service restart automatically itself?
In case you use a Windows service (that's my understanding of your original question), AFAIK you can control what should happen if the service stops - and a (delayed) restart is one option... - cf. this TechNet article for Server 2K3
Sorry, I don't know that, simply as most services do not stop on their own - but you can certainly test the behaviour...
A different approach would be to use a task that calls a batch with a loop that would start dbmlsync and wait until it stops and would restart it after a short delay. Something similar is sometimes used to make run SQL Remote "endlessly".
Ah, if this is on the same computer then I would definitely recommend using shared memory - it will be more efficient.
- Testing is being done on virtual machines (Oracle VM VirtualBox)
This "localhost TCP/IP disconnection" problem sounds very similar to other issues I've heard from customers on VMs. See: "Connection terminated abnormally".
If you were interested in debugging this situation further: which address are you providing to the client when it's connecting locally (if at all?). If you're using "localhost", does using "127.0.0.1" seem to solve the issue?
User | Count |
---|---|
62 | |
10 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.