3.2 APの無応答状態への対策
通信障害,瞬断を含む一時的な障害,またはディスク障害などによって,APが無応答状態になることがあります。無応答状態のAPが発生した場合,その影響によってほかのAPやコマンドの処理が停滞することがあります。
そこで,無応答状態のAPが発生したときに,その影響をなるべく小さくするために,システムプロパティ,ユーザプロパティ,または接続用のURLのプロパティで次のプロパティを指定してください。
-
adb_clt_rpc_sql_wait_time
このプロパティ値には,クライアント(JDBCドライバをインストールしたマシン)からHADBサーバに処理要求をしてから,応答が戻ってくるまでの待ち時間を指定します。ここで指定した待ち時間を超えてもHADBサーバから応答がない場合,SQLCODEが-732(KFAA30732-E)のタイムアウトエラーがAPに返されます。このとき,SQL文の処理はキャンセルされ,トランザクションはロールバックされます。そのあと,HADBサーバからAPが切り離されます。
adb_clt_rpc_sql_wait_timeによる待ち時間の監視イメージを次の図に示します。
- [説明]
-
クライアントからHADBサーバに処理要求をしてから,応答が戻ってくるまでの待ち時間を監視しています。例えば,adb_clt_rpc_sql_wait_timeに600秒を指定した場合,各監視区間に対して600秒の待ち時間が設定されます。したがって,処理時間がいちばん長いSQL文を目安にして,待ち時間を指定します。待ち時間には,APが無応答状態になった可能性が高いと考えられる時間を指定してください。
なお,adb_clt_rpc_sql_wait_timeを指定したときは,さらに次の待ち時間も監視対象になります。
-
同一コネクションで複数のSELECT文を同時実行した際に,処理リアルスレッド数不足が発生したときの処理リアルスレッドの確保処理の待ち時間
上記の待ち時間を超えた場合,SQLCODEが-1071570(KFAA71570-E)のタイムアウトエラーがAPに返されます。このとき,SQL文の処理はキャンセルされますが,トランザクションはロールバックされません。また,APはHADBサーバから切り離されません。
adb_clt_rpc_sql_wait_timeを指定する目的については,「7.4.1 データの検索方法」の「(4) 同一コネクションで複数のSELECT文を同時実行する際の注意事項」を参照してください。
- メモ
-
adb_clt_rpc_sql_wait_timeについては,「3.1.6 システムプロパティの設定」を参照してください。