ACSD-47027: langsame Abfrage B2B CompanyRole GraphQL Update

Der Patch ACSD-47027 behebt das Problem, dass die langsame Abfrage B2B CompanyRole GraphQL Update nicht wie erwartet funktioniert. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.23 installiert ist. Die Patch-ID ist ACSD-47027. Bitte beachten Sie, dass das Problem in Adobe Commerce 2.4.6 behoben sein soll.

Betroffene Produkte und Versionen

Der Patch wird für die Adobe Commerce-Version erstellt:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.2-p1

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.2 - 2.4.5-p1
NOTE
Der Patch kann für andere Versionen mit neuen Quality Patches Tool -Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das Paket magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Suchen nach Patches. Verwenden Sie die Patch-ID als Suchschlüsselwort, um den Patch zu finden.

Problem

Die langsame Abfrage B2B CompanyRole GraphQL Update funktioniert nicht erwartungsgemäß.

Voraussetzungen:

Installieren Sie das B2B-Modul.

Zu reproduzierende Schritte:

  1. Gehen Sie im Adobe Commerce-Admin zu Stores > Settings > Configurations > B2B Features und legen Sie Enable Company auf Ja fest.

  2. Gehen Sie zum Frontend und erstellen Sie ein Unternehmen.

  3. Nachdem Sie sich als Unternehmensbenutzer angemeldet haben, gehen Sie zu My Account > Roles and Permissions und fügen Sie eine neue Rolle hinzu.

  4. Aktivieren Sie das dev-Abfrageprotokoll mit bin/magento dev:que:enab.

  5. Senden Sie nun die unten stehende GraphQL -Anfrage (id ist die base64 -kodierte Rollen-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. Überprüfen Sie das Abfrageprotokoll.

  7. Sie können sehen, dass die obige Abfrage ausgeführt wird. Diese Abfrage wird in app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources ausgeführt.

Erwartete Ergebnisse:

Der app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources muss optimiert werden, damit nicht alle in der company_permissions DB-Tabelle verfügbaren Daten geladen werden.

Tatsächliche Ergebnisse:

Adobe Commerce führt eine Abfrage ohne Filter aus. Bei einer großen Anzahl von Datensätzen dauert es sehr lange, bis Adobe Commerce die Datenerfassung vorbereitet.

Wenden Sie den Patch an

Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie unter Quality Patches Tool: Suchen nach Patches im Quality Patches Tool -Handbuch.

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