OSB 12c Database Adapter Timeout Set Is Not Working — oracle-tech

    Forum Stats

  • 3,701,027 Users
  • 2,239,262 Discussions
  • 7,834,978 Comments

Discussions

OSB 12c Database Adapter Timeout Set Is Not Working

41995314199531 Posts: 2
edited February 28 in SOA Suite Discusssions

We are facing this issue in OSB 12c (12.2.1.2) with the Database adapter. Database adapter is not getting timed out until unless database made timeout or give response back. Until that Threads will be waiting and getting stuck threads and eventually severs are going to warning state.

JTC timeout is set to 300 sec, but still database adapter is not taking this settings.

Tried below options:

1. Setting QueryTimeout in JCA

2. Statement Timeout in DataSource

Both did not work.

Can anyone help on this? How to set timeout for database adapter, so that thread will be terminated once it reaches timeout settings?

Tagged:

Answers

  • Prasanna GPrasanna G Posts: 93 Blue Ribbon
    edited February 27

    Hi,

    Unlike HTTP connections, which timeout based on the number of seconds specified and release the thread; JDBC timeouts works differently. As you rightly said, the timeout doesnt truly happen based on QueryTimeout.

    For BPEL, EJB timeout and JTA timeout also play a crucial role.

    Below blog has a clear explaination of what combinations can be tried for DBadapter timeout. This blog explains from BPEL standpoint. You can check relevant properties for OSB as well and try.

    https://chintanblog.blogspot.com/2013/11/jdbc-connection-timeout.html

  • 41995314199531 Posts: 2
    edited February 27

    This will not solve Stuck Thread issue. As per the solution provided in that link, the main thread will be terminated and respond back to consumer, but still another thread will be waiting until DB responds. That leads to stuck threads and server will go to warnings state if request are more in the numbers.

  • SanaeSanae Posts: 49 Red Ribbon
    edited February 27

    Hello ,

    You can configure QueryTimeout from the Adapter Configuration Wizard Advanced Options page. This feature exposes the java.sql.Statement level property of the same name. Essentially, QueryTimeout enables you to configure a timeout on the call.

    Regards ,

    Sanae

  • vanantha komara-Oraclevanantha komara-Oracle Posts: 87 Employee
    edited February 27

    Hi,

    In production environments, slowness in a legacy or external system (a database or web service for example) can lead to a scenario where all WebLogic threads and resources become busy waiting for response. The slowness can pile up the requests, generating a hang scenario in WebLogic.

    JTA Time out seconds -->18000 Sec

  • Prasanna GPrasanna G Posts: 93 Blue Ribbon
    edited February 28

    Hi,

    Yes, the solution of having 2 composites will only terminate the main thread and not the second composite's thread. Thus leading to stuck threads situation. My point was, you could try out configuring JTA timeout in a way that it works well for all scenarios as well as aid in releasing the DB adapter thread. As per the blog, this is the consolidated behaviour of all timeouts.

    Query TimeoutActual Query Execution TimeJTA and BPEL engine timeoutActal Output
    3012060Get JTA timeout exception after 60 seconds - Exception is not catched in BPEL
    30120300Get SQLTimeoutException exception after 120 seconds - Exception in catched in BPEL
    None12060Get JTA timeout after 60 seconds - Exception is not catched in BPEL
    60012060Get JTA timeout after 60 seconds - Exception no catched in BPEL
Sign In or Register to comment.