ACSD-48448: Race condition issue during order cancellations causing duplicated entry in inventory_reservation
table
The ACSD-48448 patch fixes the issue where the Race condition issue is happening during order cancellations, which causes duplicated entries in the inventory_reservation
table. This patch is available when the Quality Patches Tool (QPT) 1.1.34 is installed. The patch ID is ACSD-48448. Please note that the issue is scheduled to be fixed in Adobe Commerce 2.4.7.
Affected products and versions
The patch is created for Adobe Commerce version:
- Adobe Commerce (all deployment methods) 2.4.2-p2 and 2.4.6
Compatible with Adobe Commerce versions:
- Adobe Commerce (all deployment methods) 2.4.2 - 2.4.6-p2
magento/quality-patches
package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.Issue
Race condition issue is happening during order cancellations, which causes duplicated entries in the inventory_reservation
table.
Steps to reproduce:
- Place an order.
- Check the
inventory_reservation
table to make sure there is a record for theorder_placed
event. - Run the attached script to cancel the order in parallel (remember to change the URL and 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
Expected results:
Records are not duplicated.
Actual results:
Duplicate records are created in the inventory_reservation
table for order_canceled
.
Apply the patch
To apply individual patches, use the following links depending on your deployment method:
- Adobe Commerce or Magento Open Source on-premises: Quality Patches Tool > Usage in the Quality Patches Tool guide
- Adobe Commerce on cloud infrastructure: Upgrades and Patches > Apply Patches in the Commerce on Cloud Infrastructure guide
Related reading
- Quality Patches Tool released: a new tool to self-serve quality patches in the support knowledge base
- Check if patch is available for your Adobe Commerce issue using Quality Patches Tool in the Quality Patches Tool guide
- Best practices for modifying database tables in the Commerce Implementation Playbook
For info about other patches available in QPT, refer to Quality Patches Tool: Search for patches in the Quality Patches Tool guide.