JIRAのチケットIDEMPIERE-6123:Query in search window causing slowness and load spikes in the databaseについて調査及び研究し、その成果をまとめています。
この課題は、ウィンドウの検索機構においてカウントがされており、大量のデータが格納されているようなテーブルにおいて、パフォーマンスが悪くなるというものです。
このことはJPiereでは以前より認識しており、下記のような対応を行っています。
変更箇所
ソースコードの修正箇所
◆2024年5月3日コミットの修正
https://github.com/idempiere/idempiere/commit/881e758def0ac8baa2eb2b612f4d9341aa66caa7
【マイグレーションスクリプト】
*システムコンフィグ設定:GRIDTABLE_INITIAL_COUNT_TIMEOUT_IN_SECONDSの追加。デフォルト1
*システムコンフィグ設定: GLOBAL_MAX_QUERY_RECORDSの追加。デフォルト100000
◆2024年5月8日コミットの修正
https://github.com/idempiere/idempiere/commit/e147b1e08810a68a26251ebd5107f6f6b3d390ce
【マイグレーションスクリプト】
*システムコンフィグ設定:REPORT_LOAD_TIMEOUT_IN_SECONDSの追加。デフォルト120
*システムコンフィグ設定:GLOBAL_MAX_REPORT_RECORDSの追加。デフォルト100000
DataEngine
JPIERE-6123の課題は、【JPIERE-0264】一覧レポートの表示レコード数の制限と機能が衝突する部分があります。そのため衝突しないように調整しました。
iDempiereのDataEngineの修正箇所
JPiereのDataEngineの修正箇所
レポートビューの制限数を0に設定すると、iDempiere標準の機能で処理されるようにしています。