4.0 から 4.5.1 に更新しようとしていますが、プロセスは常に で失敗しUpdateMeasuresDebtToMinutes
ます。テーブル エンジンとして InnoDB を使用し、データベースとして MySQL 5.5.27 を使用しています。
基本的に問題はこの問題のように見えます
writeTimeout が (600 秒) を超えると、ログに例外が記録されます
Caused by: java.io.EOFException: Can not read response from server. Expected to read 81 bytes, read 15 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3166) ~[mysql-connector-java-5.1.27.jar:na]
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3676) ~[mysql-connector-java-5.1.27.jar:na]
リンクされた問題で提案されているようにインデックスを追加しても役に立ちませんでした。
さらに調査すると、いくつかのことに気付きました。
- 移行ステップでテーブルからデータを読み取り、同じテーブルに書き戻したい (
project_measures
) - project_measures に 770000 を超える行が含まれている
- プロセスは常に 249 行の後にハングします
- 実行とコミットを強制した後
org.sonar.server.migrations.MassUpdate
に呼び出したときにハングが発生しますupdate.addBatch()
BatchSession.MAX_BATCH_SIZE (250)
これを続行できるように DB 接続を構成する方法はありますか?