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
NOTE
De patch kan van toepassing worden op andere versies met nieuwe Quality Patches Tool versies. Om te controleren of de patch compatibel is met uw Adobe Commerce-versie, werkt u het 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:

  1. In Adobe Commerce Admin, ga Stores > Settings > Configurations > B2B Features en reeks Enable Company aan ja.

  2. Ga naar de frontend en creeer een bedrijf.

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

  4. Schakel dev querylogboek in met bin/magento dev:que:enab .

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

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:

Gerelateerde lezing

Meer informatie over Quality Patches Tool vindt u in:

Voor informatie over andere flarden beschikbaar in QPT, verwijs naar Quality Patches Tool: Onderzoek naar flardenin de Quality Patches Tool gids.

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