[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

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. devbin/magento dev:que:enab 使用してクエリログを有効にします。

  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 で実行されます。

期待される結果 :

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

実際の結果 :

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

パッチの適用

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

  • Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況 ​ Quality Patches Tool ガイドに記載されています。
  • クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの ​ アップグレードとパッチ ​/ パッチの適用」を参照してください。

関連資料

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

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

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