データベースにログを書き込んでいます。
短時間に大量にログを出力すると、以下のNullPointerExceptionが発生します。
java.lang.NullPointerException
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:310)
at oracle.jdbc.driver.OracleStatement.cancel(OracleStatement.java:2963)
at oracle.jdbc.driver.OracleCancelThread.run(OracleCancelThread.java:53)
データベースの更新頻度は、11件/秒程度です。
例外は数万レコードに1回の割合で発生します。
例外発生によってアプリケーションがダウンすることはありませんが、一定時間、処理が停止してしまうため、困っています。この停止時間は、データベースへのアクセスに指定したタイムアウト時間と等しいようです。
ただし、成功時のクエリ実行時間を見ても、タイムアウト時間とはかなりの開きがあり、タイムアウトが発生するようには思えません。
ログも検索対象のため、データベースへの蓄積を止めるわけにもいきません。
アプリケーションのソースコードをチェックしましたが、NullPointerExceptionが発生するような箇所は全くありませんでした。
どんな原因が考えられるでしょうか?
| <発生環境> | |
|---|---|
| JDK | JDK1.4.2 |
| Vender | Sun |
| DB | Oracle 9i Release 2 |
- <A24-1>
- 上記のようなトラブルは、ぜひJavaシステム障害解決サービス(JaTS)へお問い合わせ下さい。










Copyright(c) SMG Co., Ltd. All Rights Reserved.