IBM Support

PI60567: NEW SYSTEM PROPERTY TO CONFIGURE THE EJB POOL WAIT TIMEOUT

Fixes are available

9.0.0.2: WebSphere Application Server traditional V9.0 Fix Pack 2
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
16.0.0.3: WebSphere Application Server Liberty 16.0.0.3
16.0.0.4: WebSphere Application Server Liberty 16.0.0.4
9.0.0.3: WebSphere Application Server traditional V9.0 Fix Pack 3
9.0.0.4: WebSphere Application Server traditional V9.0 Fix Pack 4
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
9.0.0.5: WebSphere Application Server traditional V9.0 Fix Pack 5
9.0.0.6: WebSphere Application Server traditional V9.0 Fix Pack 6
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
9.0.0.7: WebSphere Application Server traditional V9.0 Fix Pack 7
17.0.0.1: WebSphere Application Server Liberty 17.0.0.1
17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
9.0.0.8: WebSphere Application Server traditional V9.0 Fix Pack 8
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
9.0.0.9: WebSphere Application Server traditional V9.0 Fix Pack 9
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
9.0.0.10: WebSphere Application Server traditional V9.0 Fix Pack 10
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
8.5.5.15: WebSphere Application Server V8.5.5 Fix Pack 15
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
9.0.0.11: WebSphere Application Server traditional V9.0 Fix Pack 11
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
9.0.5.0: WebSphere Application Server traditional Version 9.0.5 Refresh Pack
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
9.0.5.1: WebSphere Application Server traditional Version 9.0.5 Fix Pack 1
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
9.0.5.2: WebSphere Application Server traditional Version 9.0.5 Fix Pack 2
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
8.5.5.17: WebSphere Application Server V8.5.5 Fix Pack 17
9.0.5.3: WebSphere Application Server traditional Version 9.0.5 Fix Pack 3
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Under current implementation, EJB pool wait timeout is not
    configurable and EJBException to be thrown if available
    instance was not assigned within 5 minutes (this is static
    value).
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server with EJB applications                *
    ****************************************************************
    * PROBLEM DESCRIPTION: EJB pool size maximum wait timeout      *
    *                      is not configurable                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When an EJB pool size is configured to have a hard maximum
    limit indicating EJB activity should block and wait for an EJB
    instance to become available when the limit is reached, there
    is no way to control how long EJB activity will block before
    aborting the EJB method call. The timeout is 5 minutes, and is
    not configurable.
    

Problem conclusion

  • The existing EJB container system property used to configure
    the EJB pool size, com.ibm.websphere.ejbcontainer.poolSize, has
    been enhanced to also allow configuration of the maximum limit
    wait timeout as follows:
    
    com.ibm.websphere.ejbcontainer.poolSize
    
    Specifies the size of the pool for the specified bean type.
    This property applies to stateless, message-driven, and entity
    beans. If you do not specify a default value, the container
    default value, 50 and 500, are used.
    
    Set the pool size for a given bean as:
    
        beantype=[H]min,[H]max[,timeout][:beantype=[H]min,[H]max...]
    
    The beantype element is the Java EE name of the bean, formed
    by concatenating the application name, the # character, the
    module name, the # character, and the name of the bean, that
    is, the string assigned to the <ejb-name> field in the
    deployment descriptor of the bean. The min and max elements are
    the minimum and maximum pool sizes for that bean type. Starting
    in 8.5.5.11, the optional timeout element is the wait time for
    the next available bean instance to become available when a hard
    limit is specified for the maximum pool size. Do not specify
    the square brackets shown in the previous prototype; they
    denote the optional timeout value or optional additional bean
    types that you can specify after the first bean type. Each
    bean type specification is delimited by a colon (:).
    
    Use an asterisk (*) as the value of beantype to indicate that
    all bean types are to use those values unless overridden by an
    exact bean-type specification somewhere else in the string; for
    example:
    
    *=30,100
    
    You can specify the bean types in any order within the string.
    
    You can designate the maximum configured EJB pool size as a
    hard limit by inserting the character, H, directly in front of
    the max value. Without the H character, the maximum value
    indicates how many EJB instances can be pooled and does not
    limit the number of EJB instances that can be created or in
    use. Inserting the H character before the max value indicates a
    hard limit, and the EJB container blocks creation of more
    instances when that limit is reached. Further threads must
    wait until an instance becomes available or until the
    transaction times out. The default wait time is 300 seconds.
    After either the wait time expires or the transaction timeout
    has been reached, the EJB container will abort the method call
    on the bean and throw either a javax.ejb.EJBException or a
    javax.transaction.TransactionRolledbackException. Starting in
    8.5.5.11, the wait time may also be configured by including the
    optional timeout vale after the maximum configured hard limit
    and is specified in seconds.
    
    You can designate the minimum configured EJB pool size as a
    hard limit by inserting the character, H, directly in front of
    the min value. Without the H character, the minimum value
    indicates how many EJB instances are maintained in the pool
    when the EJB type is not actively in use, but does not preload
    the pool when the application is started. Typically, the minimum
    pool size is not reached until the minimum number of EJB
    instances has been accessed concurrently by the application.
    Inserting the H character before the min value indicates
    a hard limit, and the EJB container preloads the pool with the
    minimum number of EJB instances when the application is started.
    
    For example, if you want to indicate that no more than 200 EJB
    instances are created, and that additional requests must wait
    for an instance and might time out while waiting, then enter:
    
    SMApp#SMModule#TypeBean=100,H200
    
    If you want to indicate that the EJB container preloads the
    pool with a minimum of 100 EJB instances when the application
    is started, then enter:
    
    SMApp#SMModule#TypeBean=H100,200
    
    If you want to indicate that no more than 150 EJB instances
    are created, and that additional requests must wait for an
    instance for only 30 seconds before timing out, then enter:
    
    SMApp#SMModule#TypeBean=50,H150,30
    
    The hard limit indicator is only available to EJB Version 2.0
    or higher stateless session beans.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 9.0.0.2 and 8.5.5.11 for WebSphere Application Server
    and 16.0.0.3 for WebSphere Application Server Liberty.  Please
    refer to the Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI60567

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-04-11

  • Closed date

    2016-08-16

  • Last modified date

    2016-08-16

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R850 PSY

       UP

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
17 June 2020