ACSD-48448: problema de condição Race durante cancelamentos de pedidos, causando entrada duplicada na tabela inventory_reservation
O patch ACSD-48448 corrige o problema em que a condição Race ocorre durante cancelamentos de pedidos, o que causa entradas duplicadas na tabela inventory_reservation
. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.34 está instalado. A ID do patch é ACSD-48448. Observe que o problema está programado para ser corrigido no Adobe Commerce 2.4.7.
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.2-p2 e 2.4.6
Compatível com as versões do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.2 - 2.4.6-p2
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
O problema de condição Race ocorre durante cancelamentos de pedidos, o que causa entradas duplicadas na tabela inventory_reservation
.
Etapas a serem reproduzidas:
- Fazer um pedido.
- Verifique a tabela
inventory_reservation
para verificar se há um registro para o eventoorder_placed
. - Execute o script anexado para cancelar o pedido em paralelo (lembre-se de alterar o URL e 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
Resultados esperados:
Os registros não são duplicados.
Resultados reais:
Registros duplicados são criados na tabela inventory_reservation
para order_canceled
.
Aplicar o patch
Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:
- Adobe Commerce ou Magento Open Source local: Quality Patches Tool > Uso no guia Quality Patches Tool
- Adobe Commerce na infraestrutura em nuvem: Atualizações e patches > Aplicar patches no guia do Commerce na infraestrutura em nuvem
Leitura relacionada
- Quality Patches Tool lançamento: uma nova ferramenta para autoatender patches de qualidade na base de dados de conhecimento de suporte
- Verifique se há patch disponível para o problema do Adobe Commerce usando o Quality Patches Tool no guia Quality Patches Tool
- Práticas recomendadas para modificar tabelas de banco de dados no Manual de implementação do Commerce
Para obter informações sobre outros patches disponíveis no QPT, consulte Quality Patches Tool: Pesquisar patches no guia Quality Patches Tool.