ACSD-64118:同じ製品に対する同時の製品保存リクエストにより、データの不整合とエントリの重複が発生する
ACSD-64118 パッチでは、同じ製品を保存および更新する同時リクエストによってデータの不整合や製品の重複が発生する問題が修正されています。 このパッチは、Quality Patches Tool (QPT) 1.1.65 がインストールされている場合に使用できます。 パッチ ID は ACSD-64118 です。 この問題はAdobe Commerce 2.4.9 で修正される予定であることに注意してください。
影響を受ける製品とバージョン
Adobe Commerce バージョン用のパッチが作成されます。
- Adobe Commerce(すべてのデプロイメント方法) 2.4.5-p7
Adobe Commerce バージョンとの互換性:
- Adobe Commerce(すべてのデプロイメント方法) 2.4.4 - 2.4.6-p10
magento/quality-patches
パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
同じ製品を保存および更新する同時リクエストによって、データの不整合や製品の重複が発生します。
再現手順 :
-
env.php
でコンシューマー向けにマルチプロセスを設定します。code language-none 'multiple_processes' => array ( 'async.operations.all' => 4, ),
-
メイン Web サイトにストアと新しいストアのレビューを追加します。
-
次のペイロードを持つデフォルトの storereview エンドポイント
/rest/default/async/bulk/V1/products
に一括 API リクエストを送信して、製品を作成します。code language-none [ { "product": { "sku": "Test_Prod", "name": "Test Product", "attribute_set_id": 4 } } ]
-
同じペイロードを使用して、新しい storereview エンドポイント
/rest/store/async/bulk/V1/products
に一括 API リクエストを送信し、製品を更新します。 -
キャッシュをフラッシュします。
-
cron ジョブを実行します。
-
前の手順で取得した製品のエントリを
catalog_product_entity
の表で確認します。
期待される結果 :
- 製品 SKU の 1 つのエントリが
catalog_product_entity
の表に存在する必要があります。 - 最初の REST API リクエストでは、1 つのデータベースエントリを作成し、後続のすべてのリクエストではそのデータベースエントリを更新する必要があります。
実際の結果 :
同じ SKU の複数のエントリが catalog_product_entity
テーブルに存在します。
パッチの適用
個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。
- Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況Quality Patches Tool ガイドに記載されています。
- クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの アップグレードとパッチ/ パッチの適用」を参照してください。
関連資料
Quality Patches Tool について詳しくは、以下を参照してください。
- Quality Patches Tool: 『ツールガイド』にあるクオリティパッチセルフサービスツール。