MDVA-39605: The Redis cache TTL (expiration date) has a wrong value
The Redis cache TTL (expiration date) has a wrong value. Quality patch MDVA-39605 for magento/module-configurable-product applies to Magento Open Source and Adobe Commerce 2.3.4 to 2.4.4-p18.
- Categories
- Catalog/Product
- Components
- magento/module-configurable-product
- Origin
- adobe-commerce-support
- Since QPT
- 1.1.13
Issue
The Redis cache TTL (expiration date) has a wrong value.
Steps to reproduce
In order to test the fix, flush cache and open a configurable product on the storefront. Then open a terminal (console) and follow the steps below: 1. Run the command: redis-cli. 1. Run KEYS "*PRICE" (there should be only one key in the result, for example, zc:ti:e54_PRICE). Copy the key. 1. Run SMEMBERS followed by the key from the previous step (for example, SMEMBERS zc:ti:e54_PRICE). Copy any key from the result (for example, e54_4E67B390D5C28FC7C3D9BB0D37AB3F7B5E576421). 1. Run KEYS "*<key>" with the key name from the previous step to get the full key name (for example, KEYS "*e54_4E67B390D5C28FC7C3D9BB0D37AB3F7B5E576421"). There should be only one key in the result (for example, zc:k:e54_4E67B390D5C28FC7C3D9BB0D37AB3F7B5E576421). As you may notice, the full key name is simply the key name with prefix "zc:k:". Now copy the full key name. 1. Run HGETALL followed by the full key name from Step 4 to check the value. The value should contain serialized data of associated products of a related configurable product. 1. Run TTL followed by the full key name from Step 4 to check whether the key has an expiration. The result should be different from -1 and -2 and should be approximately 2592000 (30 days). Although the expiration set in the code is one year, the Redis library used in Adobe Commerce has a hard max expiration limit of 2592000s.
Adobe's page lists 2.3.4 - 2.4.4 as compatible; the versions below are resolved from the current QPT constraints and are the ones the tool will offer.
Adobe scheduled the permanent fix for 2.4.5.
Install
Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply MDVA-39605. On Cloud, add MDVA-39605 under stage.build.QUALITY_PATCHES in .magento.env.yaml.
For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its MDVA-39605/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.
Patch files and compatible versions
magento/magento2-base >=2.3.4 <2.4.5
- Magento Open Source
- 2.4.4-p18, 2.4.4-p17, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4
- Adobe Commerce
- 2.4.4-p18, 2.4.4-p17, 2.4.4-p16, 2.4.4-p15, 2.4.4-p14, 2.4.4-p13, 2.4.4-p12, 2.4.4-p11, 2.4.4-p10, 2.4.4-p9, 2.4.4-p8, 2.4.4-p7, 2.4.4-p6, 2.4.4-p5, 2.4.4-p4, 2.4.4-p3, 2.4.4-p2, 2.4.4-p1, 2.4.4, 2.4.3-p3, 2.4.3-p2, 2.4.3-p1, 2.4.3, 2.4.2-p2, 2.4.2-p1, 2.4.2, 2.4.1-p1, 2.4.1, 2.4.0-p1, 2.4.0, 2.3.7-p4, 2.3.7-p3, 2.3.7-p2, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4
- Patch file
- patches/os/MDVA-39605_2.4.2.patch
- vendor/magento/module-configurable-product/Model/Plugin/Frontend/UsedProductsCache.php
