Product: | Syniti Data Replication, DBMoto |
Version: | All |
ID: | 1675 |
Summary: | How to handle a communication timeout exception when running the Replication Agent/Data Replicator |
When running the Syniti DR Replication Agent (DBMoto Data Replicator), in some cases the Management Center is not able to communicate with the Server Agent in a timely way and it generates the timeout exception:
"Error in the Replication Manager thread: exception accessing the Server Agent. The server connection is in recovery mode.
System.TimeoutException: This request operation sent to net.tcp://localhost:58361/AgentService did not receive a reply within the configured timeout (00:00:03). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client."
Depending on the amount of work needed for the Syniti DR/DBMoto Monitor to communicate with the Server Agent, this operation could take time. If the Syniti DR/DBMoto Monitor sends the request but the ServerAgent does not respond within the time allotted, the error is reported in the log.
SOLUTION
The default timeout set for the operation is 3 seconds, but it can be changed by modifying the property <AgentTimeout> in the dbmoto.server.config file. This allows the Replication Agent/Data Replicator more time to stop before generating the exception.
To change the property:
- Close the Management Center.
- Stop the Replication Agent/Data Replicator and Server Agent.
- Open the dbmoto.server.config file located in the installation folder.
- Modify the property <AgentTimeout> under the <optionList> tag.
- Save the dbmoto.server.config file.
- Restart the Replication Agent/Data Replicator and Server Agent.