ACSD-47027: atualização de GraphQL de B2B de consulta lenta CompanyRole
O patch ACSD-47027 resolve o problema em que a atualização de consulta B2B CompanyRole GraphQL lenta não funciona como esperado. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.23 está instalado. A ID do patch é ACSD-47027. Observe que o problema está programado para ser corrigido no Adobe Commerce 2.4.6.
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-p1
Compatível com as versões do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.2 - 2.4.5-p1
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 atualização de consulta B2B CompanyRole GraphQL lenta não funciona como esperado.
Pré-requisitos:
Instale o módulo B2B.
Etapas a serem reproduzidas:
-
No Administrador do Adobe Commerce, vá para Stores > Settings > Configurations > B2B Features e defina Enable Company como Sim.
-
Acesse o front-end e crie uma empresa.
-
Depois de fazer logon como usuário da empresa, vá para My Account > Roles and Permissions e adicione uma nova função.
-
Habilitar log de consultas dev usando
bin/magento dev:que:enab
. -
Agora envie a solicitação GraphQL abaixo (a ID é a ID de função codificada base64):
code language-none mutation { updateCompanyRole( input: { id: "Mg==" permissions: [ "Magento_Company::view" "Magento_Company::view_account" "Magento_Company::user_management" "Magento_Company::roles_view" ] } ) { role { id name permissions { id text children { id text children { id text } } } }
-
Verifique o log de consulta.
-
Você pode ver que a consulta acima é executada. Esta consulta é executada em
app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources
.
Resultados esperados:
O app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources
precisa ser otimizado para evitar o carregamento de todos os dados disponíveis na tabela de BD company_permissions.
Resultados reais:
O Adobe Commerce executa uma consulta sem nenhum filtro. Quando há um grande número de registros, leva muito tempo para o Adobe Commerce preparar a coleta de dados.
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 no 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
Para saber mais sobre Quality Patches Tool, consulte:
- 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.
Para obter informações sobre outros patches disponíveis no QPT, consulte Quality Patches Tool: Pesquisar patches no guia Quality Patches Tool.