ACSD-48448: Race probleem met omstandigheid tijdens orderannuleringen die dubbele invoer in inventory_reservation -tabel veroorzaken

De ACSD-48448-patch verhelpt het probleem waarbij het probleem met de voorwaarde Race zich voordoet tijdens annuleringen van orders. Dit veroorzaakt dubbele vermeldingen in de inventory_reservation -tabel. Deze patch is beschikbaar wanneer Quality Patches Tool (QPT) 1.1.34 is geïnstalleerd. De patch-id is ACSD-48448. Het probleem wordt volgens de planning opgelost in Adobe Commerce 2.4.7.

Betrokken producten en versies

het flard wordt gecreeerd voor de versie van Adobe Commerce:

  • Adobe Commerce (alle implementatiemethoden) 2.4.2-p2 en 2.4.6

Compatibel met de versies van Adobe Commerce:

  • Adobe Commerce (alle implementatiemethoden) 2.4.2 - 2.4.6-p2
NOTE
De patch kan van toepassing worden op andere versies met nieuwe Quality Patches Tool versies. Om te controleren of de patch compatibel is met uw Adobe Commerce-versie, werkt u het magento/quality-patches -pakket bij naar de meest recente versie en controleert u de compatibiliteit op de Quality Patches Tool : zoek naar patches op de pagina. Gebruik de patch-id als een zoekwoord om de patch te zoeken.

Probleem

Er is een probleem met de voorwaarde Race opgetreden tijdens annuleringen van orders, waardoor dubbele items in de inventory_reservation -tabel worden veroorzaakt.

Stappen om te reproduceren:

  1. Plaats een bestelling.
  2. Controleer de tabel inventory_reservation om er zeker van te zijn dat er een record is voor de gebeurtenis order_placed .
  3. Voer het bijgevoegde script uit om de volgorde parallel te annuleren (vergeet niet de URL en de orderID te wijzigen).

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

Verwachte resultaten :

Records worden niet gedupliceerd.

Ware resultaten :

Dubbele records worden gemaakt in de inventory_reservation -tabel voor order_canceled .

De patch toepassen

Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:

Gerelateerde lezing

Voor informatie over andere flarden beschikbaar in QPT, verwijs naar Quality Patches Tool: Onderzoek naar flardenin de Quality Patches Tool gids.

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