legacy-knowledge-base
公開されました Jun. 30, 2025

7.4へのアップグレード: DDMFieldUpgradeProcessに非常に長い時間がかかる

written-by

Sorin Pop

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • 私たちは7.4にアップグレードしていますが、DDMFieldUpgradeProcessでアップグレードプロセスがたくさん動いていることに気づきました。

環境

  • 7.4へのアップグレード

解像度

  • これは知られている。 このプロセスは、ddmcontentテーブルからjsonまたはxmlデータを正規化し、それを細かく分割して、2つの新しいテーブル(ddmfieldテーブルとddmfieldattributeテーブル)に入れるために起こります。 元のddmcontentテーブルのレコードやデータの量にもよるが、確かに時間がかかる。
  • しかし、もう少し速くするためにできることがいくつかある。
  • https://liferay.atlassian.net/browse/LPS-187207 このアップグレードプロセスでは、ある程度のパフォーマンス向上が導入されている。 この変更は、最近の四半期リリースに含まれているはずなので、最近の四半期リリース(例えば、この記事を書いている時点では2023.q4.2)を入手してアップグレードを行い、そこからアップグレードスクリプトを実行することをお勧めします。 DDMFieldUpgradeProcessが多少速くなることを期待したいが、処理するデータ量によっては、まだ長い時間を要するかもしれない。
  • OutOFMemoryの問題でプロセスが失敗するのを避けるために、十分なメモリを確保した状態でアップグレードスクリプトを開始することをお勧めします。その方法については、 ドキュメント をご覧ください。
  • また、アップグレード中に、より多くの行を一度に、1つのチャンクでフェッチするように、DB接続URL設定で大きなdefaultFetchSize JDBC設定を使用することも役立つかもしれません。

    正確には、以下のようなパーツを追加してみてください:

    &callableStmtCacheSize=10000&cacheCallableStmts=true&defaultFetchSize=10000000&enableQueryTimeouts=false

portal-upgrade-database.properties (および portal-ext.properties) のjdbc.default.urlプロパティに追加します。 defaultFetchSizeの値を弄ることができる。上記は単なる例であり、10000000はあなたのニーズには大きすぎるかもしれない。 アップグレードプロセスが完了したら、portal-extからこの部分を削除することができます。

did-this-article-resolve-your-issue

legacy-knowledge-base