ACSD-47027: langzame query B2B CompanyRole GraphQL update

De ACSD-47027-patch lost het probleem op waarbij de langzame query B2B CompanyRole GraphQL de update werkt niet zoals verwacht. Deze pleister is beschikbaar wanneer de Quality Patches Tool (QPT) 1.1.23 is 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

De patch wordt gemaakt voor Adobe Commerce-versie:

  • Adobe Commerce (alle implementatiemethoden) 2.4.2-p1

Compatibel met Adobe Commerce-versies:

  • Adobe Commerce (alle implementatiemethoden) 2.4.2 - 2.4.5-p1
NOTE
De patch kan van toepassing worden op andere versies met nieuwe Quality Patches Tool lozingen. Als u wilt controleren of de patch compatibel is met uw Adobe Commerce-versie, werkt u de magento/quality-patches het pakket aan de recentste versie en controleer verenigbaarheid op Quality Patches Tool: Pagina met patches zoeken. Gebruik de patch-id als een zoekwoord om de patch te zoeken.

Probleem

De langzame vraag B2B CompanyRole GraphQL de update werkt niet zoals verwacht.

Vereisten:

Installeer de B2B-module.

Stappen om te reproduceren:

  1. Ga in Adobe Commerce Admin naar Stores > Settings > Configurations > B2B Features en instellen Enable Company tot Ja.

  2. Ga naar de frontend en creeer een bedrijf.

  3. Nadat u zich als bedrijfgebruiker hebt aangemeld, gaat u naar My Account > Roles and Permissions en voeg een nieuwe rol toe.

  4. Inschakelen dev querylogboek gebruiken bin/magento dev:que:enab.

  5. Stuur nu de onderstaande GraphQL request (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
          }
        }
      }
    }
    
  6. Controleer het querylogboek.

  7. 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:

De app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources moet worden geoptimaliseerd om te voorkomen dat alle in het company_permissions DB-tabel.

Werkelijke 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:

Gerelateerde lezing

Meer informatie over Quality Patches Tool, zie:

Voor informatie over andere patches beschikbaar in QPT, verwijs naar Quality Patches Tool: Zoeken naar patches in de Quality Patches Tool hulplijn.

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