[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

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 を超えるカタログ価格ルールが必要です。

再現手順 :

  1. 次のコマンドを使用して、インデックス再作成を実行し、データを生成して catalogrule_product テーブルに入力します。

    code language-none
    bin/magento indexer:reindex catalogrule_product
    
  2. カタログに対して複数の変更を加え、インデックス再作成を再度実行してください。

  3. 1 回の削除操作で catalogrule_product テーブルがクリアされていることを確認します。

期待される結果 :

  1. 大きな catalogrule_product テーブルは問題なくクリアされます。
  2. インデクサーは、トランザクションの制限を回避するために、管理可能なバッチでデータを削除します。
  3. 標準的なインデックス操作中に、重大なパフォーマンス低下やエラーは発生しません。

実際の結果 :

  1. catalogrule_product テーブルは、5,000 万件を超えるレコードに影響する単一の大きな削除クエリを使用してクリアされます。
  2. MySQL が次のエラーを返します。WSREP: トランザクションサイズの制限(2147483647)を超えています。
  3. 書き込みセットのサイズ制限により、インデクサー操作が失敗します。
  4. 1 回のトランザクションで何百万もの行が削除されるので、データベースのパフォーマンスが低下します。

パッチの適用

個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。

  • Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況 ​ Quality Patches Tool ガイドに記載されています。
  • クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの ​ アップグレードとパッチ ​/ パッチの適用」を参照してください。

関連資料

Quality Patches Tool について詳しくは、以下を参照してください。

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3