Virtuoso additional replication keepalive settings

What

Enables keepalive parameters to be set for use by Virtuoso to assist in keeping subscriber connections to publisher in place and not possibly prematurely disconnected by the OS or firewall keepalive settings.

Why

For most replication use cases the system defaults are more than sufficient to make sure the publisher remain connected. If not then the keepalive parameters detailed below can be set in the Virtuoso configuration file to control behaviour.

How

However in some high availablilty cases a user can tweak the TCP settings by using the following new [FLAG] settings in the virtuoso.ini configuration file to control the TCP keepalive setting used by Virtuoso for data replication between publisher and subscriber nodes:

[Flags]
repl_keepalive       = 1    ; Enable keepalive (default 1 for enabled)
tcp_keepalive_idle   = 600  ; number of seconds the socket can be idle before keepalive packets are sent (default 10 minutes)
tcp_keepalive_intvl  = 30   ; interval between keepalive probes in seconds (default 30 seconds)
tcp_keepalive_probes = 10   ; number of keepalive probes sent before aborting the connection (default 10 probes)

Note that only on Linux are all three of TCP settings supported, as Windows only supports setting the tcp_keepalive_idle and tcp_keepalive_intvl setting, and macOSonly supports thetcp_keepalive_idle` setting.

Related