ACSD-69237:sales_*_async_insert cron ジョブが 1 回の実行で 100 エントリしか処理しない
ACSD-69237 パッチは、sales_*_async_insert cron ジョブが sales grid テーブルにレコードを挿入する際に、保留中の行をすべてバッチで処理するのではなく、1 回の実行あたり 100 エントリしか処理しない問題を修正します。 このパッチは、Quality Patches Tool (QPT) 1.1.77 がインストールされている場合に使用できます。 パッチ ID は ACSD-69237 です。 この問題はAdobe Commerce 2.4.9 で修正される予定であることに注意してください。
影響を受ける製品とバージョン
Adobe Commerce バージョン用のパッチが作成されます。
- Adobe Commerce(すべてのデプロイメント方法) 2.4.5-p15
Adobe Commerce バージョンとの互換性:
- Adobe Commerce(すべてのデプロイメント方法) 2.4.4 - 2.4.8-p3
magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
sales_*_async_insert cron ジョブは、sales grid テーブルにレコードを挿入するときに 1 回の実行で 100 個のエントリしか処理しません。保留されている行が存在する場合でも処理が行われるため、sales_order_grid などのテーブルの更新が不完全になります。
再現手順 :
-
システムで 800 注文を生成します。
-
Configuration/Advanced/Developer/Grid Settings に移動して、グリッドの非同期インデックス作成を有効にします。
-
データベースの注文数を確認します。
code language-none SELECT COUNT(*) FROM sales_order_grid;結果は 800 になります。
-
sales_order_gridテーブルのコンテンツを削除します。code language-none DELETE FROM sales_order_grid; -
sales_*_async_insertキューを処理する cron ジョブを実行します。 -
データベースの注文数を再度確認します。
code language-none SELECT COUNT(*) FROM sales_order_grid;
期待される結果 :
見つからない 800 注文はすべて、単一の sales_order_grid cron ジョブ実行を通じて sales_grid_order_async_insert テーブルに挿入されます。
実際の結果 :
単一の sales_order_grid cron ジョブの実行中に、800 個の見つからない注文のうち 100 個のみが sales_grid_order_async_insert テーブルに挿入されます。
パッチの適用
個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。
- Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況 Quality Patches Tool ガイドに記載されています。
- クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの アップグレードとパッチ / パッチの適用」を参照してください。
関連資料
Quality Patches Tool について詳しくは、以下を参照してください。
- Quality Patches Tool: 『ツールガイド』にあるクオリティパッチ セルフサービスツール。