[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}

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:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。

问题

慢速查询B2B CompanyRole GraphQL更新无法按预期工作。

先决条件

安装B2B模块。

重现步骤

  1. 在Adobe Commerce管理员中,转到​ Stores > Settings > Configurations > B2B Features,并将​ Enable Company ​设置为​

  2. 前往前端,创建公司。

  3. 以公司用户身份登录后,转到​ My Account > Roles and Permissions ​并添加新角色。

  4. 使用dev启用bin/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需要优化,以避免加载​ company_permissions ​数据库表中所有可用的数据。

实际结果

Adobe Commerce执行查询而不使用任何筛选器。 当记录数量很大时,Adobe Commerce需要大量时间来准备数据收集。

应用修补程序

要应用单独的修补程序,请根据您的部署方法使用以下链接:

相关阅读

要了解有关Quality Patches Tool的更多信息,请参阅:

有关QPT中其他可用修补程序的信息,请参阅Quality Patches Tool指南中的:搜索修补程序Quality Patches Tool。

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