[Solo PaaS]{class="badge informative" title="Applicabile solo ai progetti Adobe Commerce on Cloud (infrastruttura PaaS gestita da Adobe) e ai progetti on-premise."}

ACSD-47027: aggiornamento B2B CompanyRole GraphQL con query lenta

La patch ACSD-47027 risolve il problema che causa il mancato funzionamento previsto dell'aggiornamento B2B CompanyRole GraphQL della query lenta. Questa patch è disponibile quando è installato Quality Patches Tool (QPT) 1.1.23. L’ID della patch è ACSD-47027. Il problema è pianificato per essere risolto in Adobe Commerce 2.4.6.

Prodotti e versioni interessati

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

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.2-p1

Compatibile con le versioni di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.2 - 2.4.5-p1
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

L'aggiornamento B2B CompanyRole GraphQL della query lenta non funziona come previsto.

Prerequisiti:

Installa il modulo B2B.

Passaggi da riprodurre:

  1. In Adobe Commerce Admin, vai a Stores > Settings > Configurations > B2B Features e imposta Enable Company su Yes.

  2. Vai al front-end e crea un’azienda.

  3. Dopo aver effettuato l'accesso come utente aziendale, passare a My Account > Roles and Permissions e aggiungere una nuova mansione.

  4. Abilita dev registro query tramite bin/magento dev:que:enab.

  5. Ora invia la seguente richiesta GraphQL (ID è l'ID ruolo codificato 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. Controlla il registro delle query.

  7. Puoi vedere che la query precedente viene eseguita. Questa query viene eseguita in app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources.

Risultati previsti:

È necessario ottimizzare app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources per evitare di caricare tutti i dati disponibili nella tabella del database company_permissions.

Risultati effettivi:

Adobe Commerce esegue una query senza alcun filtro. In presenza di un numero elevato di record, la preparazione della raccolta dei dati da parte di Adobe Commerce richiede molto tempo.

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:

Per informazioni sulle altre patch disponibili in QPT, fare riferimento a Quality Patches Tool: Cercare le patch nella guida di Quality Patches Tool.

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3