3.2 Handling unresponsive application programs
A problem such as a communication error, temporary failure (including power outage), or disk failure might cause an application program to stop responding. Such an unresponsive application program might delay other application programs and command processing.
Therefore, in order to minimize the effects of an unresponsive application program, specify the following property as a system property, user property, or connection URL property:
-
adb_clt_rpc_sql_wait_time
For this property, specify the maximum amount of time to wait for a response after a processing request has been sent from the client (machine on which the JDBC driver is installed) to the HADB server. If there is no response from the HADB server within the specified time, a timeout error whose SQLCODE is -732 (KFAA30732-E) is returned to the application. When this occurs, processing of the SQL statement is canceled, and the transaction is rolled back. Then, the application is disconnected from the HADB server.
The following figure shows the wait time monitoring procedure based on the specification of adb_clt_rpc_sql_wait_time.
- Explanation:
-
This example monitors the wait time until a response is received after a processing request has been issued from the client to the HADB server. For example, if 600 seconds is specified in adb_clt_rpc_sql_wait_time, a wait time of 600 seconds is set for the monitoring interval. Therefore, as a guideline, specify a wait time at least equal to the longest SQL statement processing time. Specify a realistic value that most likely will indicate when the application program has become unresponsive.
If adb_clt_rpc_sql_wait_time is specified, HADB also monitors the following wait times:
-
How long to wait to secure processing real threads if a shortage occurs when multiple SELECT statements are executed concurrently in the same connection.
If this wait time is exceeded, HADB returns a timeout error whose SQLCODE is -1071570 (KFAA71570-E) to the application. When this happens, processing of the SQL statement is canceled but the transaction is not rolled back. Nor is the application disconnected from the HADB server.
For details about the purpose of specifying adb_clt_rpc_sql_wait_time, see (4) Note about executing multiple SELECT statements concurrently in the same connection in 7.4.1 How to retrieve data.
- Note
-
For details about adb_clt_rpc_sql_wait_time, see 3.1.6 Setting system properties.