IBM Support

IT26064: HANG ON A JDBC OPERATION CAN CAUSE MESSAGE FLOW TO BE UNRESPONSIVE.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If the database operation on a JDBC connection acquired from the
    JDBC connection pool by using getJDBCType4Connection() results
    in a hang, then the message flow becomes unresponsive. In this
    case,  the message flow thread is expected to throw an error
    after a timeout period of 15 seconds.
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of IBM App Connect Enterprise V11.0 and IBM
    Integration Bus V10.0 using pooled JDBC connections.
    
    
    Platforms affected:
    z/OS, MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    If the database operation on a JDBC connection acquired from the
    JDBC connection pool by using getJDBCType4Connection() results
    in a hang, then the message flow becomes unresponsive. In this
    case,  the message flow thread is expected to throw an error
    after a timeout period of 15 seconds.
    
    A java core captured at the problematic timeframe shows
    following call stacks for two threads.
    
    3XMTHREADBLOCK     Blocked on:
    com/ibm/broker/jdbctype4/connpool/ConnectionPoolWorker@0x0000000
    0F152C258 Owned by: "Thread-11466"
    (J9VMThread:0x0000000002B6A100,
    java/lang/Thread:0x00000000F152C258)
    3XMHEAPALLOC             Heap bytes allocated since last GC
    cycle=0 (0x0)
               Java callstack:
                   at java/lang/Object.wait(Native Method)
                   at java/lang/Object.wait(Object.java:201(Compiled
    Code))
                   at
    com/ibm/broker/jdbctype4/connpool/ConnectionPoolWorker.callMetho
    d(ConnectionPoolWorker.java:479(Compiled Code))
                      (entered lock:
    com/ibm/broker/jdbctype4/connpool/ConnectionPoolWorker@0x0000000
    0F152C258, entry count: 1)
                   at
    com/ibm/broker/jdbctype4/connpool/ProxyContainer.invoke(ProxyCon
    tainer.java:272(Compiled Code))
                   at com/sun/proxy/$Proxy22.execute(Bytecode PC:11)
    
    
    3XMTHREADBLOCK     Waiting on:
    java/lang/Object@0x00000000F153E078 Owned by: <unowned>
    3XMHEAPALLOC             Heap bytes allocated since last GC
    cycle=0 (0x0)
                 Java callstack:
                   at java/lang/Object.wait(Native Method)
                   at java/lang/Object.wait(Object.java:172(Compiled
    Code))
                   at
    com/ibm/as400/access/AS400ThreadedServer.receive(AS400ThreadedSe
    rver.java:303(Compiled Code))
                      (entered lock:
    java/lang/Object@0x00000000F153E078, entry count: 1)
                   at
    com/ibm/as400/access/AS400ThreadedServer.sendAndReceive(AS400Thr
    eadedServer.java:419(Compiled Code))
                   at
    com/ibm/as400/access/AS400JDBCConnection.sendAndReceive(AS400JDB
    CConnection.java:2594(Compiled Code))
                      (entered lock:
    java/lang/Object@0x00000000F153E088, entry count: 1)
                   at
    com/ibm/as400/access/AS400JDBCStatement.commonExecute(AS400JDBCS
    tatement.java:831)
                   at
    com/ibm/as400/access/AS400JDBCPreparedStatement.execute(AS400JDB
    CPreparedStatement.java:780)
                      (entered lock:
    java/lang/Object@0x00000000F153E098, entry count: 1)
                   at
    sun/reflect/GeneratedMethodAccessor43.invoke(Bytecode PC:42)
                   at
    sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:56(Compiled Code))
                   at
    java/lang/reflect/Method.invoke(Method.java:620(Compiled Code))
                   at
    com/ibm/broker/jdbctype4/connpool/ConnectionPoolWorker.run(Conne
    ctionPoolWorker.java:566)
                      (entered lock:
    com/ibm/broker/jdbctype4/connpool/ConnectionPoolWorker@0x0000000
    0F152C258, entry count: 1)
    

Problem conclusion

  • The product now correctly reports an exception if the database
    operation times out. The default timeout is 15 seconds. This can
    be increased with the environment variable
    MQSI_POOL_DBCALL_TIMEOUT if the database operation requires more
    time.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v10.0      10.0.0.16
    v11.0      11.0.0.4
    
    The latest available maintenance can be obtained from:
    http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041
    
    If the maintenance level is not yet available,information on
    its planned availability can be found on:
    http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT26064

  • Reported component name

    INTEGRATION BUS

  • Reported component ID

    5724J0540

  • Reported release

    A00

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-09-07

  • Closed date

    2019-04-03

  • Last modified date

    2020-12-01

  • 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

    INTEGRATION BUS

  • Fixed component ID

    5724J0540

Applicable component levels

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSNQK6","label":"IBM Integration Bus"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0"}]

Document Information

Modified date:
02 December 2020