ACSD-47027: Langsame B2B-CompanyRole-GraphQL-Aktualisierung der Abfrage
Mit dem Patch ACSD-47027 wird das Problem behoben, dass die Aktualisierung der langsamen Abfrage B2B-CompanyRole GraphQL 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. Beachten Sie, dass das Problem voraussichtlich in Adobe Commerce 2.4.6 behoben wird.
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
magento/quality-patches
auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Nach Patches suchen. Verwenden Sie die Patch-ID als Suchbegriff, um den Patch zu finden.Problem
Die Aktualisierung der langsamen B2B-CompanyRole-GraphQL funktioniert nicht wie erwartet.
Voraussetzungen:
Installieren Sie das B2B-Modul.
Schritte zur Reproduktion:
-
Wechseln Sie in Adobe Commerce Admin zu Stores > Settings > Configurations > B2B Features und setzen Sie Enable Company auf Ja.
-
Wechseln Sie zum Frontend und erstellen Sie eine Firma.
-
Nachdem Sie sich als Unternehmensbenutzer angemeldet haben, gehen Sie zu My Account > Roles and Permissions und fügen Sie eine neue Rolle hinzu.
-
Aktivieren Sie dev Abfrageprotokoll mithilfe von
bin/magento dev:que:enab
. -
Senden Sie nun die folgende GraphQL-Anfrage (ID ist die base64 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 } } } }
-
Überprüfen Sie das Abfrageprotokoll.
-
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:
Die app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources
muss optimiert werden, um zu vermeiden, dass alle in der company_permissions DB-Tabelle verfügbaren Daten geladen werden.
Tatsächliche Ergebnisse:
Adobe Commerce führt eine Abfrage ohne Filter aus. Wenn eine große Anzahl von Datensätzen vorhanden ist, dauert es sehr lange, bis Adobe Commerce die Datenerfassung vorbereitet.
Patch anwenden
Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:
- Adobe Commerce oder Magento Open Source On-Premise: Quality Patches Tool > Nutzung im Quality Patches Tool.
- Adobe Commerce in Cloud-Infrastruktur: Upgrades und Patches > Patches anwenden im Handbuch zu Commerce in Cloud-Infrastruktur.
Verwandtes Lesen
Weitere Informationen zu Quality Patches Tool finden Sie unter:
- Quality Patches Tool Veröffentlicht: Ein neues Tool zur Selbstbedienung hochwertiger Patchesder Support-Wissensdatenbank.
- Überprüfen Sie, ob für Ihr Adobe Commerce-Problem ein Patch verfügbar ist Quality Patches Tool mithilfe von im Quality Patches Tool.
Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie unter Quality Patches Tool: Suchen nach Patches im Quality Patches Tool.