QUALITY PATCH

B2B-2598: The availableStores, countries, country, currency, storeConfig…

The availableStores, countries, country, currency, storeConfig, and customAttributeMetadata GraphQL queries aren't cacheable. Quality patch B2B-2598 for magento/module-directory-graph-ql applies to Magento Open Source and Adobe Commerce 2.4.4 to 2.4.6-p15.

Categories
Performance, GraphQL
Components
magento/module-directory-graph-ql, magento/module-store, magento/module-store-graph-ql
Origin
adobe-commerce-support
Since QPT
1.1.30

Issue

The availableStores, countries, country, currency, storeConfig, and customAttributeMetadata GraphQL queries aren't cacheable.

Adobe's page lists 2.4.4 - 2.4.6 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.7-beta1.

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 B2B-2598. On Cloud, add B2B-2598 under stage.build.QUALITY_PATCHES in .magento.env.yaml.

For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its B2B-2598/ 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

Packages across compatible versions (3): magento/module-directory-graph-ql, magento/module-store, magento/module-store-graph-ql
Packages across compatible versions (3): magento/module-directory-graph-ql, magento/module-store, magento/module-store-graph-ql

magento/magento2-base >=2.4.4 <2.4.7

Magento Open Source
2.4.6-p15, 2.4.6-p14, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p17, 2.4.5-p16, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 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
Adobe Commerce
2.4.6-p15, 2.4.6-p14, 2.4.6-p13, 2.4.6-p12, 2.4.6-p11, 2.4.6-p10, 2.4.6-p9, 2.4.6-p8, 2.4.6-p7, 2.4.6-p6, 2.4.6-p5, 2.4.6-p4, 2.4.6-p3, 2.4.6-p2, 2.4.6-p1, 2.4.6, 2.4.5-p17, 2.4.5-p16, 2.4.5-p15, 2.4.5-p14, 2.4.5-p13, 2.4.5-p12, 2.4.5-p11, 2.4.5-p10, 2.4.5-p9, 2.4.5-p8, 2.4.5-p7, 2.4.5-p6, 2.4.5-p5, 2.4.5-p4, 2.4.5-p3, 2.4.5-p2, 2.4.5-p1, 2.4.5, 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
Patch file
patches/os/B2B-2598__add_caching_capability_to_GraphQL_queries__2.4.6.patch
  • vendor/magento/module-directory-graph-ql/Model/Cache/Tag/Strategy/Config/CountryTagGenerator.php (added)
  • vendor/magento/module-directory-graph-ql/Model/Cache/Tag/Strategy/Config/CurrencyTagGenerator.php (added)
  • vendor/magento/module-directory-graph-ql/Model/Resolver/Country/Identity.php (added)
  • vendor/magento/module-directory-graph-ql/Model/Resolver/Currency/Identity.php (added)
  • vendor/magento/module-directory-graph-ql/Plugin/Currency.php (added)
  • vendor/magento/module-directory-graph-ql/etc/di.xml (added)
  • vendor/magento/module-directory-graph-ql/etc/schema.graphqls
  • vendor/magento/module-store/Model/Config/Cache/Tag/Strategy/CompositeTagGenerator.php (added)
  • vendor/magento/module-store/Model/Config/Cache/Tag/Strategy/StoreConfig.php (added)
  • vendor/magento/module-store/Model/Config/Cache/Tag/Strategy/TagGeneratorInterface.php (added)
  • vendor/magento/module-store/etc/di.xml
  • vendor/magento/module-store-graph-ql/Model/Cache/Tag/Strategy/ConfigTagGenerator.php (added)
  • vendor/magento/module-store-graph-ql/Model/Resolver/Store/ConfigIdentity.php (added)
  • vendor/magento/module-store-graph-ql/Model/Resolver/Stores/ConfigIdentity.php (added)
  • vendor/magento/module-store-graph-ql/Plugin/Group.php (added)
  • vendor/magento/module-store-graph-ql/Plugin/Store.php (added)
  • vendor/magento/module-store-graph-ql/Plugin/Website.php (added)
  • vendor/magento/module-store-graph-ql/etc/di.xml (added)
  • vendor/magento/module-store-graph-ql/etc/schema.graphqls

Sources

Łukasz Bajsarowicz
Built by

Łukasz Bajsarowicz, e-commerce architect

Magento and Adobe Commerce architecture, upgrades, performance and audits for merchants and agencies since 2015; magento.watch is the tooling I use on those projects.

Open source, maintained on weekends.