ACSD-47027: langzame query B2B CompanyRole GraphQL bijwerken
De ACSD-47027-patch lost het probleem op waarbij de langzame query B2B CompanyRole GraphQL -update niet werkt zoals u had verwacht. Deze patch is beschikbaar wanneer Quality Patches Tool (QPT) 1.1.23 wordt geïnstalleerd. De patch-id is ACSD-47027. Het probleem wordt volgens de planning opgelost in Adobe Commerce 2.4.6.
Betrokken producten en versies
het flard wordt gecreeerd voor de versie van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.2-p1
Compatibel met de versies van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.2 - 2.4.5-p1
magento/quality-patches
-pakket bij naar de meest recente versie en controleert u de compatibiliteit op de Quality Patches Tool : zoek naar patches op de pagina. Gebruik de patch-id als een zoekwoord om de patch te zoeken.Probleem
De langzame B2B CompanyRole GraphQL -update voor query werkt niet zoals verwacht.
Eerste vereisten :
Installeer de B2B-module.
Stappen om te reproduceren:
-
In Adobe Commerce Admin, ga Stores > Settings > Configurations > B2B Features en reeks Enable Company aan ja.
-
Ga naar de frontend en creeer een bedrijf.
-
Nadat u zich hebt aangemeld als bedrijfsgebruiker, gaat u naar My Account > Roles and Permissions en voegt u een nieuwe rol toe.
-
Schakel dev querylogboek in met
bin/magento dev:que:enab
. -
Verzend nu de onderstaande aanvraag GraphQL (id is de base64 gecodeerde rol-id):
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 } } } }
-
Controleer het querylogboek.
-
U ziet dat de bovenstaande query is uitgevoerd. Deze query wordt uitgevoerd in
app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources
.
Verwachte resultaten :
app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources
moet worden geoptimaliseerd om te voorkomen dat alle gegevens in de company_permissions DB-tabel worden geladen.
Ware resultaten :
Adobe Commerce voert een query uit zonder filter. Als er een groot aantal records is, kost het veel tijd voor Adobe Commerce om de gegevensverzameling voor te bereiden.
De patch toepassen
Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:
- Adobe Commerce of Magento Open Source op locatie: Quality Patches Tool > Gebruikin de handleiding Quality Patches Tool .
- Adobe Commerce op wolkeninfrastructuur: Verbeteringen en Patches > Pas Patchesin onze ontwikkelaarsdocumentatie toe.
Gerelateerde lezing
Meer informatie over Quality Patches Tool vindt u in:
- Quality Patches Tool vrijgegeven: een nieuw hulpmiddel om kwaliteitspatchesin onze basis van de steunkennis zelf te dienen.
- Controle als het flard voor uw kwestie van Adobe Commerce beschikbaar is gebruikend Quality Patches Tool in onze basis van de steunkennis.
Voor informatie over andere flarden beschikbaar in QPT, verwijs naar Quality Patches Tool: Onderzoek naar flardenin de Quality Patches Tool gids.