ACP2E-4603: Omindexering av produkt för katalogbehörighet lämnar inaktuella behörighetsindexrader och MySQL-dödläge
Korrigeringen för ACP2E-4603 åtgärdar ett problem där omindexering av produkter för katalogbehörighet lämnar befintliga behörighetsindexrader oförändrade, så uppdaterade kategoribehörighetstilldelningar inte återspeglar produkter korrekt. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.79 har installerats. Korrigerings-ID är ACP2E-4603. 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.7-p3
Kompatibel med Adobe Commerce-versioner:
- Adobe Commerce (alla distributionsmetoder) 2.4.6 - 2.4.7-p9
magento/quality-patches till den senaste versionen och kontrollerar kompatibiliteten för Quality Patches Tool: Sök efter sidan med korrigeringsfiler . Använd patch-ID:t som söknyckelord för att hitta patchen.Problem
Omindexering av produkt för katalogbehörighet lämnar befintliga behörighetsindexrader oförändrade, så uppdaterade kategoribehörighetstilldelningar speglar inte produkter korrekt.
Steg som ska återskapas:
-
Aktivera kategoribehörigheter:
- Logga in på Admin.
- Gå till Stores > Configuration.
- Välj Catalog under Catalog.
- Expandera Category Permissions.
- Ange Enable som Ja.
- Spara konfigurationen.
-
Skapa minst 50 kundgrupper (alternativ A eller alternativ B):
- Alternativ A - Admin: Gå till Customers > Customer Groups och välj Add New. Ange ett gruppnamn (till exempel
ACSD70034_01) och välj standardmomsklassen och sedan Save. Upprepa om du vill skapa 50 eller fler grupper. - Alternativ B (rekommenderas) - REST API: Skicka en POST-begäran till
/rest/V1/customerGroupsmed begärandetexten{"group":{"code":"ACSD70034_01","taxClassId":0}}. Upprepa för att skapa 50 grupper (ACSD70034_01tillACSD70034_50).
- Alternativ A - Admin: Gå till Customers > Customer Groups och välj Add New. Ange ett gruppnamn (till exempel
-
Lägg till kategoribehörigheter i Admin:
- Gå till Catalog > Categories.
- Redigera 10-20 eller fler kategorier för att öka reproducerbarheten.
- Bläddra till Category Permissions i varje kategori och välj Add Permission.
- Välj en webbplats (till exempel Huvudwebbplats) och tilldela en av de kundgrupper som skapats tidigare.
- Konfigurera Grant Catalog Category View, Grant Product Price och Grant Checkout efter behov.
- Välj Save.
- Rekommenderad skala: Skapa en större datauppsättning (till exempel 20 kategorier och 20-50 kundgrupper) för att generera 400-1 000 behörighetsrader.
-
Se till att det finns en enda indextabell (standard):
- Gå till Stores > Configuration > Catalog > Catalog > Category Permissions.
- Om Dimensions eller Indexer Dimensions visas anger du det till Ingen (inte kundgrupp) så att en enda indextabell används.
-
Kör omindexering med parallella trådar från CLI:
- Exportera
MAGE_INDEXER_THREADS_COUNT=4. - Kör
php bin/magento indexer:reset catalogpermissions_category catalogpermissions_product. - Kör
php bin/magento indexer:reindex catalogpermissions_category catalogpermissions_product. - Upprepa kommandona för återställning och indexering 5-10 gånger för att återskapa dödläget vid parallell körning.
- Exportera
Förväntade resultat:
Indexeringen har slutförts med parallella trådar och uppdaterade kategoribehörighetstilldelningar återspeglar korrekt produkter i tabellen magento_catalogpermissions_index_product.
Faktiska resultat:
Ett MySQL-deadlock-fel (1213) inträffar då och då under omindexeringen och underordnade processer misslyckas med fel som refererar till REPLACE INTO på magento_catalogpermissions_index_replica eller magento_catalogpermissions_index_product.
Även när omindexeringen slutförs utan fel uppdateras inte befintliga behörighetsindexrader, så produkterna fortsätter att återspegla inaktuella kategoribehörighetstilldelningar.
Tillämpa korrigeringen
Använd följande länkar beroende på distributionsmetod för att tillämpa enskilda korrigeringsfiler:
- Adobe Commerce eller Magento Open Source lokalt: Quality Patches Tool > Användning i guiden Quality Patches Tool.
- Adobe Commerce om molninfrastruktur: Uppgraderingar och korrigeringar > Tillämpa korrigeringar i guiden för Commerce om molninfrastruktur.
Relaterad läsning
Mer information om Quality Patches Tool finns i:
- Quality Patches Tool: Ett självbetjäningsverktyg för korrigeringar av kvalitet i verktygshandboken.