ACP2E-4913: la spedizione API REST e la creazione della fattura non vengono ritentate dopo un deadlock del database

La patch ACP2E-4913 risolve il problema se la creazione di una spedizione o di una fattura tramite l’API REST non riesce in modo permanente quando si verifica un deadlock del database perché l’operazione non viene ritentata. Questa patch è disponibile quando è installato Quality Patches Tool (QPT) 1.1.84. L’ID della patch è ACP2E-4913. Tieni presente che questo problema è pianificato per essere risolto in Adobe Commerce 2.4.10.

Prodotti e versioni interessati

La patch è stata creata per la versione di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.8-p3

Compatibile con le versioni di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.7 - 2.4.8-p5
NOTE
La patch potrebbe diventare applicabile ad altre versioni con le nuove versioni di Quality Patches Tool. Per verificare se la patch è compatibile con la versione di Adobe Commerce in uso, aggiornare il pacchetto magento/quality-patches alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.

Problema

La creazione di una spedizione o di una fattura tramite l’API REST non riesce in modo permanente quando si verifica un deadlock del database perché l’operazione non viene ritentata.

Passaggi da riprodurre:

  1. Prepara diversi ordini che possono essere spediti e diversi ordini che possono essere fatturati.
  2. Invia diverse POST /rest/V1/order/<orderId>/ship richieste in parallelo per questi ordini, poiché un’integrazione potrebbe essere in fase di caricamento.
  3. Invia diverse POST /rest/V1/order/<orderId>/invoice richieste in parallelo nello stesso modo.
  4. Controlla le risposte API e var/log/exception.log.

Risultati previsti:

Dopo un deadlock, l’operazione viene ritentata e viene creata la spedizione o la fattura.

Risultati effettivi:

Alcune richieste non vanno a buon fine e presentano il seguente errore di deadlock. La spedizione o la fattura non viene creata ed è necessario crearla manualmente:

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

Applicare la patch

Per applicare singole patch, utilizzare i collegamenti seguenti, a seconda del metodo di distribuzione utilizzato:

Lettura correlata

Per ulteriori informazioni su Quality Patches Tool, vedere:

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