IBM Support

PH66956: IMPROVE RESILIENCE OF KEEPALIVE REQUESTS WHEN A PROCESS HAS NO IDLE THREADS

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Under some load patterns, clients may see a connection closed
    shortly after sending a keepalive request.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM HTTP Server on Linux or    *
    *                  zOS                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: Under some load patterns, clients may   *
    *                      see a connection closed                 *
    *                      shortly after sending a keepalive       *
    *                      request.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Consider a configuration with the following MPM settings:
    MinSpareThreads  25
    ThreadsPerChild  25
    MaxSpareThreads 250
    MaxClients 2500
    Normally we only have problems as we approach 2500 clients /
    threads. However, if by some sequence of load we end up with
    any
    single process using all of its threads, some bad behavior can
    result even when there is excess capacity in other processes.
    When a process is at 25/25 busy threads and a keepalive
    connection has new activity, IHS will respond to that activity
    by closing the connection. Unfortunately, there is nearly no
    logging of this condition.
    Similarly, but in a much more unlikely path, all keepalive
    connections may be closed when the server is in the above
    state.
    

Problem conclusion

  • The code was updated to provide a better default behavior and
    logging in this area.
    
    1. By default, when the server is in the state described above,
    activity on a keepalive connection is queued for the
    next available worker rather than closed.
    
    When this queueing occurs, two informational messages are
    logged: IHS00035/IHS00036
    
    Connections queued in this way are marked to close
    gracefully at the end of the upcoming request/response.
    
    To restore the previous behavior, set global directive
    'IHSKeepaliveCloseOnActivity ON'. In this case, a warning
    level message is issued with identifer IHS00037
    after the connection is closed.
    
    2. By default, in the state described above, all keepalive
    connections are instead marked for closure after the next
    request and response.
    
    The previous behavior can be restored with
    'IHSKeepaliveCloseAll ON' in which case a warning message
    with identifier IHS00038 will be issued.
    
    3. The server periodically checks for the state described above
    and marks keepalive connections as being closeable after the
    next response.  Informational message with identifier IHS00041
    is issued when this occurs.
    
    The fix for this APAR is targeted for inclusion in
    IBM HTTP Server fix packs 9.0.5.25 For more information, see
    'Recommended Updates for WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH66956

  • Reported component name

    IBM HTTP SERVER

  • Reported component ID

    5724J0801

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-06-13

  • Closed date

    2025-06-13

  • Last modified date

    2025-06-17

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    IBM HTTP SERVER

  • Fixed component ID

    5724J0801

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTJ","label":"IBM HTTP Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 June 2025