ACP2E-4913: Entrega da API REST e criação de fatura não são repetidas após um deadlock do banco de dados

O patch ACP2E-4913 corrige o problema em que a criação de uma remessa ou fatura por meio da API REST falha permanentemente quando ocorre um deadlock do banco de dados porque a operação não é repetida. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.84 está instalado. A ID do patch é ACP2E-4913. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.10.

Produtos e versões afetados

O patch foi criado para a versão do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.8-p3

Compatível com as versões do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.7 - 2.4.8-p5
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.

Problema

A criação de uma remessa ou fatura por meio da API REST falha permanentemente quando ocorre um deadlock de banco de dados porque a operação não é repetida.

Etapas a serem reproduzidas:

  1. Prepare vários pedidos que podem ser entregues e vários pedidos que podem ser faturados.
  2. Envie várias solicitações POST /rest/V1/order/<orderId>/ship simultaneamente para esses pedidos, pois uma integração pode estar sob carregamento.
  3. Envie várias solicitações POST /rest/V1/order/<orderId>/invoice simultaneamente da mesma maneira.
  4. Verifique as respostas da API e var/log/exception.log.

Resultados esperados:

Após um deadlock, a operação é repetida e a remessa ou fatura é criada.

Resultados reais:

Algumas solicitações falham com o seguinte erro de deadlock. A entrega ou NFF não é criada e você deve criá-la manualmente:

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

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

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