ACP2E-4913: El envío de API REST y la creación de facturas no se vuelven a intentar después de un bloqueo de la base de datos

El parche ACP2E-4913 corrige el problema en el que la creación de un envío o una factura a través de la API REST falla de forma permanente cuando se produce un bloqueo de la base de datos porque la operación no se reintenta. Esta revisión está disponible cuando está instalado Quality Patches Tool (QPT) 1.1.84. El ID del parche es ACP2E-4913. Este problema está programado para solucionarse en Adobe Commerce 2.4.10.

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.8-p3

Compatible con versiones de Adobe Commerce:

  • Adobe Commerce (todos los métodos de implementación) 2.4.7 - 2.4.8-p5
NOTE
El parche podría ser aplicable a otras versiones con las nuevas versiones de Quality Patches Tool. Para comprobar si el parche es compatible con su versión de Adobe Commerce, actualice el paquete 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

La creación de un envío o una factura a través de la API de REST falla de forma permanente cuando se produce un interbloqueo de la base de datos porque la operación no se vuelve a intentar.

Pasos a seguir:

  1. Preparar varios pedidos que se pueden enviar y varios pedidos que se pueden facturar.
  2. Envíe varias POST /rest/V1/order/<orderId>/ship solicitudes en paralelo para estos pedidos, ya que una integración podría estar bajo carga.
  3. Enviar varias POST /rest/V1/order/<orderId>/invoice solicitudes en paralelo de la misma manera.
  4. Compruebe las respuestas de la API y var/log/exception.log.

Resultados esperados:

Después de un interbloqueo, se vuelve a intentar la operación y se crea el envío o la factura.

Resultados reales:

Algunas solicitudes fallan con el siguiente error de interbloqueo. El envío o la factura no se crean y debe crearlos manualmente:

SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction

Aplicar el parche

Para aplicar parches individuales, utilice los siguientes vínculos según el método de implementación:

Lectura relacionada

Para obtener más información sobre Quality Patches Tool, consulte:

recommendation-more-help
commerce-operations-help-tools