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
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:
-
In Adobe Commerce Admin, vai a Stores > Settings > Configurations > B2B Features e imposta Enable Company su Yes.
-
Vai al front-end e crea un’azienda.
-
Dopo aver effettuato l'accesso come utente aziendale, passare a My Account > Roles and Permissions e aggiungere una nuova mansione.
-
Abilita dev registro query tramite
bin/magento dev:que:enab. -
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 } } } } -
Controlla il registro delle query.
-
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:
- Adobe Commerce o Magento Open Source on-premise: Quality Patches Tool > Utilizzo nella guida di Quality Patches Tool.
- Adobe Commerce su infrastruttura cloud: Aggiornamenti e patch > Applica patch nella guida Commerce su infrastruttura cloud.
Lettura correlata
Per ulteriori informazioni su Quality Patches Tool, vedere:
- Quality Patches Tool rilasciato: nuovo strumento per la gestione automatica delle patch di qualità nella Knowledge Base di supporto.
- Verifica se la patch è disponibile per il problema di Adobe Commerce utilizzando Quality Patches Tool nella guida di Quality Patches Tool.
Per informazioni sulle altre patch disponibili in QPT, fare riferimento a Quality Patches Tool: Cercare le patch nella guida di Quality Patches Tool.