ACSD-47027:低速クエリ B2B CompanyRole GraphQL の更新

ACSD-47027 パッチを使用すると、低速のクエリ B2B CompanyRole GraphQL アップデートが期待どおりに動作しない問題を解決できます。 このパッチは、Quality Patches Tool (QPT) 1.1.23 がインストールされている場合に使用できます。 パッチ ID は ACSD-47027 です。 この問題はAdobe Commerce 2.4.6 で修正される予定であることに注意してください。

影響を受ける製品とバージョン

Adobe Commerce バージョン用のパッチが作成されます。

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.2-p1

Adobe Commerce バージョンとの互換性:

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.2 ~ 2.4.5-p1
NOTE
このパッチは、新しい Quality Patches Tool リリースを含む他のバージョンにも適用される可能性があります。 パッチがAdobe Commerceのバージョンと互換性があるかどうかを確認するには、magento/quality-patches パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。

問題

低速のクエリ B2B CompanyRole GraphQL の更新が期待どおりに動作しません。

前提条件 :

B2B モジュールをインストールします。

再現手順 :

  1. Adobe Commerce管理者で、Stores / Settings / Configurations / B2B Features に移動し、「Enable Company」を はい に設定します。

  2. フロントエンドに移動し、会社を作成します。

  3. 会社ユーザーとしてログインしたら、My Account/Roles and Permissions に移動し、新しい役割を追加します。

  4. bin/magento dev:que:enabdev 使用してクエリログを有効にします。

  5. 次に、以下の GraphQL リクエストを送信します(ID は base64 でエンコードされた役割 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. クエリログを確認します。

  7. 上記のクエリが実行されていることがわかります。 このクエリは app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources で実行されます。

期待される結果 :

company_permissions DB テーブルで使用可能なすべてのデータを読み込まないように、app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources を最適化する必要があります。

実際の結果 :

Adobe Commerceは、フィルターなしでクエリを実行します。 レコード数が多い場合、Adobe Commerceでのデータ収集の準備に多くの時間がかかります。

パッチの適用

個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。

関連資料

Quality Patches Tool について詳しくは、以下を参照してください。

QPT で使用可能なその他のパッチの詳細については、Quality Patches Tool ガイドの「Quality Patches Tool: Search for patches」を参照してください。

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