[Spacewalk-list] Keepalive for Database Connections?

sela at mms-dresden.de sela at mms-dresden.de
Fri Jun 7 08:30:21 UTC 2013


Hi,

 

there is a firewall between our Spacewalk-Server and our Oracle-DB, that
silently drops connections that have not been used for one hour. 

When the Spacewalk-Server tries to reuse Database connections after they
have been idle for more than 60 minutes, it won't succeed. It takes quite a
while until it gives up reusing such connections and just opens up a new
one. 

When a spacewalk-client tries to contact the spacewalk-server it usually
takes more than 10 minutes of constant retries until a connection succeeds.
That seems to be the time the spacewalk-server needs to get a new, stable
connection to the Database.

 

Since the firewall's behavior can't be adjusted, the most obvious solution
would be to enable keepalive probes for the database connection. But I did
not find a way to do this.

First I tried to set "SQLNET.EXPIRE_TIME = 10" in
/etc/rhn/tns_admin/osa-dispatcher/sqlnet.ora - which should tell the Oracle
Instant Client to use its implemented keepalives procedures. It just doesn't
work.

Then I tried to set appropriate TCP-Keepalive Values in the Linux Kernel
(sysctl -w net.ipv4.tcp_keepalive_time=600). But the sockets opened by
spacewalk don't use "SO_KEEPALIVE" - which effectively disables
tcp-keepalive.

 

Can someone help me out?

 

We use spacewalk 1.8 (from the yum repo yum.spacewalkproject.org) on RHEL6
with a separate Oracle 11 database. We use the Oracle Instant Client from
the same repo to connect to the DB.

Best regards,
Stefan

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/spacewalk-list/attachments/20130607/1db6250a/attachment.htm>


More information about the Spacewalk-list mailing list