ACSD-48448:注文 Race キャンセル中に、テーブル内のエントリが重複する原因となる条件 inventory_reservation
問題
ACSD-48448 パッチは、注文のキャンセル中に Race 条件の問題が発生し、inventory_reservation
テーブルのエントリが重複する問題を修正します。 このパッチは、Quality Patches Tool (QPT) 1.1.34 がインストールされている場合に使用できます。 パッチ ID は ACSD-48448 です。 この問題はAdobe Commerce 2.4.7 で修正される予定であることに注意してください。
影響を受ける製品とバージョン
Adobe Commerce バージョン用のパッチが作成されます。
- Adobe Commerce(すべてのデプロイメント方法) 2.4.2-p2 および 2.4.6
Adobe Commerce バージョンとの互換性:
- Adobe Commerce(すべてのデプロイメント方法) 2.4.2 ~ 2.4.6-p2
NOTE
このパッチは、新しい Quality Patches Tool リリースを含む他のバージョンにも適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、
magento/quality-patches
パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
注文 Race キャンセル中に条件の問題が発生し、inventory_reservation
テーブルのエントリが重複します。
再現手順 :
- 注文します。
inventory_reservation
テーブルを調べて、order_placed
イベントのレコードがあることを確認します。- 添付のスクリプトを実行して、注文を並行してキャンセルします(URL と orderID は必ず変更してください)。
bash cancel_order.sh
#!/bin/bash
baseUrl=" "
orderId=3
token=$(curl --location --request POST "${baseUrl}rest/V1/integration/admin/token" \
-H 'Content-Type: application/json' \
-d '{
"username": "admin",
"password": "password"
}')
echo ${token//\"/}
curl --location --request POST "${baseUrl}/rest/V1/orders/${orderId}/cancel" \
-H "Authorization:Bearer ${token//\"/}" \
-H 'Content-Type: application/json' \
&
sleep 0.1;
curl --location --request POST "${baseUrl}/rest/V1/orders/${orderId}/cancel" \
-H "Authorization:Bearer ${token//\"/}" \
-H 'Content-Type: application/json' \
wait
期待される結果 :
レコードは複製されません。
実際の結果 :
order_canceled
用に、重複するレコードが inventory_reservation
テーブルに作成されます。
パッチの適用
個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。
- Adobe CommerceまたはMagento Open Sourceオンプレミス:Quality Patches Tool > 使用状況Quality Patches Tool ガイド
- クラウドインフラストラクチャー上のAdobe Commerce: アップグレードとパッチ適用クラウドインフラストラクチャー上のCommerce ガイド
関連資料
- Quality Patches Tool リリース済み:品質パッチをセルフサービスで提供する新しいツールをサポートナレッジベースに追加しました
- を使用して、Adobe Commerceの問題にパッチが適用できるかどうかを確認します Quality Patches Tool (Quality Patches Tool ガイド)
- Commerce実装プレイブックの データベーステーブルを変更する際のベストプラクティス
QPT で使用可能なその他のパッチの詳細については、Quality Patches Tool ガイドの「Quality Patches Tool: Search for patches」を参照してください。
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3