ACSD-47027: actualización lenta de la consulta B2B CompanyRole GraphQL

El parche ACSD-47027 resuelve el problema en el que la actualización lenta de la consulta B2B CompanyRole GraphQL no funciona como se esperaba. Esta revisión está disponible cuando está instalado Quality Patches Tool (QPT) 1.1.23. El ID del parche es ACSD-47027. Tenga en cuenta que el problema está programado para solucionarse en Adobe Commerce 2.4.6.

Productos y versiones afectados

El parche se ha creado para la versión de Adobe Commerce:

  • Adobe Commerce (todos los métodos de implementación) 2.4.2-p1

Compatible con versiones de Adobe Commerce:

  • Adobe Commerce (todos los métodos de implementación) 2.4.2 - 2.4.5-p1
NOTE
El parche podría ser aplicable a otras versiones con las nuevas versiones de Quality Patches Tool. Para comprobar si el parche es compatible con su versión de Adobe Commerce, actualice el paquete magento/quality-patches a la última versión y compruebe la compatibilidad en la página Quality Patches Tool: buscar parches. Utilice el ID de parche como palabra clave de búsqueda para localizar el parche.

Problema

La actualización de la consulta lenta B2B CompanyRole GraphQL no funciona como se esperaba.

Requisitos previos:

Instale el módulo B2B.

Pasos a seguir:

  1. En Adobe Commerce Admin, vaya a Stores > Settings > Configurations > B2B Features y establezca Enable Company en .

  2. Vaya al front-end y cree una compañía.

  3. Después de iniciar sesión como usuario de la compañía, vaya a My Account > Roles and Permissions y agregue una función nueva.

  4. Habilitar el registro de consultas dev mediante bin/magento dev:que:enab.

  5. Ahora envíe la siguiente solicitud GraphQL (el ID es el ID de rol codificado 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
          }
        }
      }
    }
    
  6. Compruebe el registro de consultas.

  7. Puede ver que se ejecuta la consulta anterior. Esta consulta se ejecuta en app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources.

Resultados esperados:

app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources debe optimizarse para evitar cargar todos los datos disponibles en la tabla de base de datos company_permissions.

Resultados reales:

Adobe Commerce ejecuta una consulta sin ningún filtro. Cuando hay un gran número de registros, Adobe Commerce tarda mucho tiempo en preparar la recopilación de datos.

Aplicar el parche

Para aplicar parches individuales, utilice los siguientes vínculos según el método de implementación:

Lectura relacionada

Para obtener más información sobre Quality Patches Tool, consulte:

Para obtener información sobre otros parches disponibles en QPT, consulte Quality Patches Tool: Buscar parches en la guía Quality Patches Tool.

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