APAR status
Closed as new function.
Error description
The administrator console for stuck connection support only allows for units in seconds. Customers may be finding that the units are not small enough for detecting stuck connections fast enough on high performance systems and require the use of millisecond instead. A new custom connection pool property stuckUnitsMilliseconds boolean value will be provided to use milliseconds when set to true. The default of seconds will remain if stuckUnitsMilliseconds in not used or stuckUnitsMilliseconds = false
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server * * using stuck connection detection. * **************************************************************** * PROBLEM DESCRIPTION: Current stuck connection detection uses * * application connections to determine * * when * * connections are stuck. * **************************************************************** * RECOMMENDATION: * **************************************************************** The existing stuck connection support relies on existing connection in the connection pool for determining stuck connections. An enhancement to the existing stuck connection support has been added to the service stream. The enhancement will use a connection outside of the application connections being used to determine stuck connections. This uses the amount of time it takes a connection to be created, closed, cleaned up and destroyed without using a query. This enhancement is targeted for customers who may have tried using the existing stuck connection support but could not get a reliable stuck timing due to the application usage of connections. Both configuration and mbeans were added for this function. Custom connection pool properties added stuckQueryTime, stuckQueryInterval, stuckQueryAverageInterval, and stuckQueryDetectionInterval with the same names and units being used for the attribute mbeans added. attribute name="stuckQueryTime" description="The amount of time connection can be stuck before switching to stuck mode true" units=milliseconds attribute name="stuckQueryInterval" description="Frequency of stuck query time thread when not in stuck mode true" units=milliseconds attribute name="stuckQueryAverageInterval" description="The number of past stuck duration times to use for an average stuck duration time" units=number of values for to average. attribute name="stuckQueryDetectionInterval" description="Frequency of stuck query time thread when in stuck mode true" units=milliseconds For both the existing and the enhancement to stuck connection support, when time in use exceeds the stuck time, the stuck mode will switch to true. When stuck mode is true, the connection pool will throw an exception to any new connection request until stuck mode is returned to false. For the stuck mode to return to false, the stuck time being used must drop below the stuck time. For the enhanced behavior, stuckQueryAverageInterval and stuckQueryDetectionInterval have been added to help with timing of the create, close, cleanup and destroy that vary large amounts or move in and out of stuck mode often. The stuckQueryAverageInterval will average the times over x amount of them. Example if 10 is used, the last 10 values will be averaged and used to determine stuck mode. The stuckQueryDetectionInterval is used instead of the stuckQueryInterval during stuck mode true. This can slow down the return to stuck mode false if this is required for better return to normal. Example, when stuck mode is false, the stuckQueryInterval wil be used and when stuck mode is true, stuckQueryDetectionInterval will be used for the interval. Uses for this function does vary from customer to customer. Most customers who use this function want to be able to have application automatically switch to use some other resources that are not stuck. Any application getting the stuck connection exception can switch to other resources. Other customer may just want some relief to the back-end resource that has slowed down, with the best example of have 10 servers running the same applications to the same resources. Since this stuck connection detection is active on each server, one server may enter stuck more, while other continue to use resources. This is just a few examples for this advanced connection pool function. Some existing customers may have already implemented function that already provides similar behavior using an application that monitors connection behavior. Example, when the customer application determines a resource is slow or stuck, it uses the connection pool mbean pause to prevent new connection requests from being completed and then resumes the connection pool when itâ??s determined that the resource is back to normal. The new enhanced stuck connection detector may allow some customers with existing simple stuck detection function applications to maintain less code and switch to use this built in enhanced stuck connection detection function. Minimum enablement of the enhanced stuck detection is stuckQueryTime and stuckQueryInterval must be set.
Problem conclusion
The stuck connection enhancement has been added. Problem summary contains both problem summary and conclusion. The fix for this APAR is targeted for inclusion in fix pack 9.0.5.15. 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
PH48686
Reported component name
WEBSPHERE APP S
Reported component ID
5724J0800
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-08-15
Closed date
2023-03-17
Last modified date
2023-03-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
WEBSPHERE APP S
Fixed component ID
5724J0800
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
18 March 2023