Previous Topic: Troubleshooting

Next Topic: Policy Server Does Not Connect to LDAP Stores Using SSL with AKI

Policy Server Hangs When Web Agent Connection Is Idle

Platform: Solaris only

Symptom:

When the Policy Server sends a request to a Web Agent that is no longer connected, the Policy Server hangs while waiting for a response.

Solution:

To solve this problem, enable the following Policy Server environment variable by setting its value to one:

SM_ENABLE_TCP_KEEPALIVE

When the TCP keep-alive environment variable is set to one and the Web Agent connection is idle, the Policy Server sends keep-alive packets to the Web Agent. If the Web Agent does not respond to the keep-alive packets, the Policy Server closes the connection and does not hang.

If Transport Layer Interface (TLI) logging is enabled, the enabled/disabled state of the TCP keep-alive environment variable is logged. TLI logging is enabled by setting a Web Server environment variable. The Policy Server keep-alive environment variable is disabled by default.

On Solaris, there are two TCP keep-alive parameters to set:

tcp_time_wait_interval

(milliseconds) Specifies how long to wait before sending the first keep-alive packet.

tcp_keepalive_interval

(milliseconds) Specifies how long to wait for a response before sending the next keep-alive packet.

To display the value of a TCP keep-alive parameter, use the following operating system command:

ndd -get/dev/tcp tcp_parameter_name

To enable TCP keep-alive in the Policy Server on a Solaris platform

  1. Set the time interval to wait before sending the first keep-alive packet, as follows:
    ndd -set/dev/tcp tcp_time_wait_interval timewait_value
    
    timewait_value

    Specifies a value in milliseconds for the tcp_time_wait_interval parameter.

  2. Set the time interval to wait before sending subsequent keep-alive packets, as follows:
    ndd -set/dev/tcp tcp_keepalive_interval keepalive_value
    
    keepalive_value

    Specifies a value in milliseconds for the tcp_keepalive_interval parameter.

  3. Set the value of the Policy Server TCP keep-alive environment variable to one: SM_ENABLE_TCP_KEEPALIVE.

More information:

Enable Transport Layer Interface (TLI) Logging