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

 

_______________________________________________
Spacewalk-list mailing list
Spacewalk-list@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-list

Reply via email to