ACSD-48448: Race problema de condición durante las cancelaciones de pedidos que causan la entrada duplicada en la tabla inventory_reservation
La revisión ACSD-48448 corrige el problema en el que la condición Race se produce durante las cancelaciones de pedidos, lo que provoca entradas duplicadas en la tabla inventory_reservation
. Esta revisión está disponible cuando está instalado Quality Patches Tool (QPT) 1.1.34. El ID del parche es ACSD-48448. Tenga en cuenta que el problema está programado para solucionarse en Adobe Commerce 2.4.7.
Productos y versiones afectados
El parche se ha creado para la versión de Adobe Commerce:
- Adobe Commerce (todos los métodos de implementación) 2.4.2-p2 y 2.4.6
Compatible con versiones de Adobe Commerce:
- Adobe Commerce (todos los métodos de implementación) 2.4.2 - 2.4.6-p2
magento/quality-patches
a la última versión y compruebe la compatibilidad en la página Quality Patches Tool: buscar parches. Utilice el ID de parche como palabra clave de búsqueda para localizar el parche.Problema
Race problema de condición está ocurriendo durante las cancelaciones de pedidos, lo que provoca entradas duplicadas en la tabla inventory_reservation
.
Pasos a seguir:
- Haga un pedido.
- Compruebe la tabla
inventory_reservation
para asegurarse de que haya un registro para el eventoorder_placed
. - Ejecute la secuencia de comandos adjunta para cancelar la solicitud en paralelo (recuerde cambiar la URL y el ID de pedido).
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
Resultados esperados:
Los registros no están duplicados.
Resultados reales:
Se crean registros duplicados en la tabla inventory_reservation
para order_canceled
.
Aplicar el parche
Para aplicar parches individuales, utilice los siguientes vínculos según el método de implementación:
- Adobe Commerce o Magento Open Source local: Quality Patches Tool > Uso en la guía Quality Patches Tool
- Adobe Commerce en la infraestructura de la nube: Actualizaciones y parches > Aplicar parches en la guía Commerce en la infraestructura de la nube
Lectura relacionada
- Quality Patches Tool publicado: nueva herramienta para autodistribuir parches de calidad en la base de conocimiento de soporte
- Compruebe si el parche está disponible para su problema de Adobe Commerce usando Quality Patches Tool en la guía Quality Patches Tool
- Prácticas recomendadas para modificar tablas de base de datos en el libro de estrategias de implementación de Commerce
Para obtener información sobre otros parches disponibles en QPT, consulte Quality Patches Tool: Buscar parches en la guía Quality Patches Tool.