MDVA-31590: Não é possível atualizar atributos em massa usando filas assíncronas MySQL

O patch MDVA-31590 resolve o problema em que os usuários não conseguem atualizar atributos em massa usando filas assíncronas MySQL. Este patch está disponível quando a Ferramenta de Patches de Qualidade (QPT) 1.1.3 está instalada. A ID do patch é MDVA-31590. Observe que o problema foi corrigido no Adobe Commerce 2.4.2.

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.0

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

  • Adobe Commerce (todos os métodos de implantação) 2.4.0-2.4.1-p1
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões da Ferramenta de patches de qualidade. 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

Os usuários não podem atualizar atributos em massa usando o MySQL async.

Etapas a serem reproduzidas:

  1. Na grade de produtos no back-end do, execute uma ação em massa para atualizar os valores de atributo de alguns produtos.
    • Verifique os produtos e selecione Atualizar atributos na lista suspensa Ações.
  2. Defina valores para os atributos necessários e atribua produtos aos sites e salve.
  3. Quando a página for recarregada, exibirá uma mensagem como a seguinte:
    Tarefa "Atualizar atributos para N produtos selecionados": 1 item(ns) foi(foram) agendado(s) para uma atualização.
  4. Aguarde alguns segundos e recarregue a página de backend.

Resultados esperados:

  1. A página exibe uma mensagem de atualização bem-sucedida, como: 1 item(ns) foi(foram) atualizado(s) com êxito.
  2. Os valores de atributo para produtos relacionados são atualizados.
  3. No BD, novos registros são criados nas tabelas magento_bulk e magento_operation (operações relacionadas ao lote).
  4. Novos registros são criados na tabela queue_message (relacionada às filas product_action_attribute.update e/ou product_action_attribute.website.update).
  5. A tabela queue_message_status tem registros com o status "4".
  6. NÃO há erros em system.log.

Resultados reais:

  1. A página ainda exibe uma mensagem como a seguinte:
    Tarefa "Atualizar atributos para N produtos selecionados": 1 item(ns) foi(foram) agendado(s) para uma atualização.
  2. Os valores de atributo dos produtos são atualizados.
  3. Um novo registro é criado na tabela message_bulk, mas não há registro(s) relacionado(s) na tabela magento_operation.
  4. Novos registros são criados nas tabelas queue_message e queue_message_status.
  5. A tabela queue_message_status possui registro com status de erro (valor de status "6").
  6. system.log contém um erro semelhante ao seguinte:
    main.CRITICAL: Mensagem rejeitada: SQLSTATE[23000]: Violação de restrição de integridade: 1048 A coluna 'operation_key' não pode ser nula, a consulta foi: INSERT INTO {{magento_operation}} ({{id}}, {{bulk_uuid}}, {{topic_name}}, {{serialized_data}}, {{result_serialized_data}}, {{status}}, {{error_code}}, {{result_message}}, {{operation_key}}) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [][]

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 a Ferramenta de correção de qualidade, consulte:

Para obter informações sobre outros patches disponíveis no QPT, consulte a seção Patches disponíveis no QPT.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a