[Endast PaaS]{class="badge informative" title="Gäller endast Adobe Commerce i molnprojekt (Adobe-hanterad PaaS-infrastruktur) och lokala projekt."}

ACSD-67166: Dubblettkörning av cataloginventory_stock_status-frågan när en offert läses in på butiken

ACSD-67166-korrigeringen åtgärdar ett problem där dubblettkörning av cataloginventory_stock_status-frågan inträffar när en offert läses in på butiken, vilket orsakar redundanta DB-anrop. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.70 har installerats. Korrigerings-ID är ACSD-67166. Observera att problemet är planerat att åtgärdas i Adobe Commerce 2.4.9.

Berörda produkter och versioner

Korrigeringen har skapats för Adobe Commerce-version:

  • Adobe Commerce (alla distributionsmetoder) 2.4.5-p13

Kompatibel med Adobe Commerce-versioner:

  • Adobe Commerce (alla distributionsmetoder) 2.4.4 - 2.4.8-p2
NOTE
Korrigeringen kan bli tillämplig för andra versioner med nya Quality Patches Tool-versioner. Om du vill kontrollera om korrigeringen är kompatibel med din Adobe Commerce-version uppdaterar du magento/quality-patches-paketet till den senaste versionen och kontrollerar kompatibiliteten på Quality Patches Tool: Sök efter korrigeringsfiler ​. Använd patch-ID:t som söknyckelord för att hitta patchen.

Problem

Duplicerad körning av cataloginventory_stock_status-frågan inträffar när en offert läses in på butiken, vilket orsakar redundanta DB-anrop.

Steg som ska återskapas:

  1. Installera en ren instans.

  2. Skapa en Category och en Simple Product.

  3. Gå till kategorin och lägg till en produkt i kundvagnen.

  4. Gå till kundvagnssidan: /checkout/cart/

  5. Ange brytpunkter i xDebug:

    1. app/code/Magento/CatalogInventory/Model/StockRegistryPreloader.php:115
    2. app/code/Magento/InventoryCatalog/Model/LegacyStockStatusCache.php:73
    3. lib/internal/Magento/Framework/Data/AbstractSearchResult.php:233
    4. Brytpunktsvillkor: strpos($this->query->getSelectSql(true), 'stock_status') !==false
      Lägg till $_SERVER['REQUEST_URI'] i bevakningar i PHPStorm för att verifiera att frågan anropas två gånger inom samma begäran.

Förväntade resultat:

Frågan körs en gång per begäran.

Faktiska resultat:

Samma fråga körs två gånger:

SELECT `main_table`.*, `cp_table`.`sku`, `cp_table`.`type_id` FROM `cataloginventory_stock_status` AS `main_table`
 INNER JOIN `catalog_product_entity` AS `cp_table` ON main_table.product_id = cp_table.entity_id AND (cp_table.created_in <= 1 AND cp_table.updated_in > 1) WHERE (`main_table`.`product_id` IN(2)) AND (`main_table`.`website_id` = '0')

Tillämpa korrigeringen

Använd följande länkar beroende på distributionsmetod för att tillämpa enskilda korrigeringsfiler:

Relaterad läsning

Mer information om Quality Patches Tool finns i:

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