ACSD-48448: Villkoret Race vid orderannulleringar orsakar dubblerad post i tabellen inventory_reservation

ACSD-48448-korrigeringen åtgärdar ett problem där Race-villkorsproblemet inträffar under orderannulleringar, vilket orsakar dubblerade poster i tabellen inventory_reservation. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.34 har installerats. Korrigerings-ID är ACSD-48448. Observera att problemet är planerat att åtgärdas i Adobe Commerce 2.4.7.

Berörda produkter och versioner

Korrigeringen har skapats för Adobe Commerce-version:

  • Adobe Commerce (alla distributionsmetoder) 2.4.2-p2 och 2.4.6

Kompatibel med Adobe Commerce-versioner:

  • Adobe Commerce (alla distributionsmetoder) 2.4.2 - 2.4.6-p2
NOTE
Korrigeringen kan bli tillämplig för andra versioner med nya Quality Patches Tool-versioner. Om du vill kontrollera om korrigeringen är kompatibel med din Adobe Commerce-version uppdaterar du magento/quality-patches-paketet till den senaste versionen och kontrollerar kompatibiliteten på Quality Patches Tool: Sök efter korrigeringsfiler. Använd patch-ID:t som söknyckelord för att hitta patchen.

Problem

Race villkorsproblem inträffar under orderannulleringar, vilket orsakar dubblerade poster i tabellen inventory_reservation.

Steg som ska återskapas:

  1. Beställ.
  2. Kontrollera tabellen inventory_reservation för att se till att det finns en post för händelsen order_placed.
  3. Kör det bifogade skriptet för att avbryta ordningen parallellt (kom ihåg att ändra URL:en och 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

Förväntade resultat:

Posterna dupliceras inte.

Faktiska resultat:

Dubblettposter skapas i tabellen inventory_reservation för order_canceled.

Tillämpa korrigeringen

Använd följande länkar beroende på distributionsmetod för att tillämpa enskilda korrigeringsfiler:

Relaterad läsning

Mer information om andra tillgängliga korrigeringsfiler i QPT finns i Quality Patches Tool: Söka efter korrigeringsfileri Quality Patches Tool-handboken.

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