ACSD-67091:大規模な削除中に書き込みセットの最大サイズが原因で、カタログルール製品インデックスのクリーンアップが失敗する
ACSD-67091 パッチでは、大規模な削除中に書き込みセットの最大サイズが原因で、カタログルールの製品インデックスのクリーンアップが失敗する問題が修正されています。 このパッチは、Quality Patches Tool (QPT) 1.1.76 がインストールされている場合に使用できます。 パッチ ID は ACSD-67091 です。 この問題はAdobe Commerce 2.4.9 で修正される予定であることに注意してください。
影響を受ける製品とバージョン
Adobe Commerce バージョン用のパッチが作成されます。
- Adobe Commerce(すべてのデプロイメント方法) 2.4.8
Adobe Commerce バージョンとの互換性:
- Adobe Commerce(すべてのデプロイメント方法) 2.4.8 - 2.4.8-p3
NOTE
このパッチは、新しい Quality Patches Tool リリースを含む他のバージョンにも適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、
magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
大規模な削除中に、カタログルール製品インデックスのクリーンアップが失敗し、書き込みセットの最大サイズのエラーが発生します。
前提条件 :
インスタンスには、複数の web サイト、10 万個を超える製品、複数の顧客グループ、20 を超えるカタログ価格ルールが必要です。
再現手順 :
-
次のコマンドを使用して、インデックス再作成を実行し、データを生成して
catalogrule_productテーブルに入力します。code language-none bin/magento indexer:reindex catalogrule_product -
カタログに対して複数の変更を加え、インデックス再作成を再度実行してください。
-
1 回の削除操作で
catalogrule_productテーブルがクリアされていることを確認します。
期待される結果 :
- 大きな
catalogrule_productテーブルは問題なくクリアされます。 - インデクサーは、トランザクションの制限を回避するために、管理可能なバッチでデータを削除します。
- 標準的なインデックス操作中に、重大なパフォーマンス低下やエラーは発生しません。
実際の結果 :
catalogrule_productテーブルは、5,000 万件を超えるレコードに影響する単一の大きな削除クエリを使用してクリアされます。- MySQL が次のエラーを返します。WSREP: トランザクションサイズの制限(2147483647)を超えています。
- 書き込みセットのサイズ制限により、インデクサー操作が失敗します。
- 1 回のトランザクションで何百万もの行が削除されるので、データベースのパフォーマンスが低下します。
パッチの適用
個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。
- Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況 Quality Patches Tool ガイドに記載されています。
- クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの アップグレードとパッチ / パッチの適用」を参照してください。
関連資料
Quality Patches Tool について詳しくは、以下を参照してください。
- Quality Patches Tool: 『ツールガイド』にあるクオリティパッチ セルフサービスツール。
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3