IBM Support

PI96086: Nested EJB Async method calls not honoring nested get(timeout, unit) timeouts.

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

  • Situation: Customer has nested Asynchronous method calls where
    asynchronous method A calls B which calls C. A -> B -> C. A
    and B then
    call Future.get(timeout,unit).
    
    If C hangs, B's Future.get(timeout,unit) will not honor the
    timeout and will be stuck. The timeout is only honored in A,
    which will eventually throw a TimeoutException. Method B never
    completes.
    
    After this fix, the timeout in B is honored and will throw the
    TimeoutException, and then continue as long as the timeout in
    A is greater than the timeout in B.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server using nested EJB Asynchronous        *
    *                  method calls                                *
    ****************************************************************
    * PROBLEM DESCRIPTION: Nested EJB Asynchronous method calls    *
    *                      not honoring nested                     *
    *                      Future.get(timeout,                     *
    *                      unit) timeouts.                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Situation: Customer has nested Asynchronous method calls where
    asynchronous method A calls B which calls C. A -> B -> C. A
    and B then call Future.get(timeout,unit).
    If C hangs, B's Future.get(timeout,unit) will not honor the
    timeout and will be stuck. The timeout is only honored in A,
    which will eventually throw a TimeoutException. Method B never
    completes.
    After this fix, the timeout in B is honored and will throw the
    TimeoutException, and then continue as long as the timeout in
    A is greater than the timeout in B.
    

Problem conclusion

  • The fix for this APAR is currently targeted for inclusion
    in fix pack 9.0.0.9 and 8.5.5.15 for WebSphere Application
    Server traditional and 18.0.0.3 for WebSphere 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

    PI96086

  • 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

    2018-04-02

  • Closed date

    2018-08-06

  • Last modified date

    2018-08-06

  • 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



Document information

More support for: WebSphere Application Server
General

Software version: 850

Reference #: PI96086

Modified date: 06 August 2018


Translate this page: