UPSTREAM FIX

magento2-38864: Stale attribute set info in the EAV cache after a set is saved or deleted

Community fix magento2-38864 merged into magento/magento2 on 2026-02-10, released in 2.4.9; applies cleanly to 33 releases from 2.4.6 to 2.4.8-p5.

Fixes stale attribute set info in the EAV cache after a set is saved or deleted edited

Pull request title
Attribute set info is cached (EAV cache), but not cleaned after the attribute set is updated in admin area
Pull request
magento/magento2#38864
Issues
#38827 human
Author
@MaximGns
Merged
2026-02-10
Fixed in
2.4.9
Reported on
2.4.6-p5
Categories
Web API
Components
magento/module-eav

Labels

Area
APIs
Component
WebapiAsync
Priority
P2
Severity
—
Reported on (labels)
2.4.6-p5

Issue

Title and steps come from the upstream issue and pull request.

Description

Product is missing attribute values that are recently added to the set without cleaning the cache manually

Steps to reproduce

1) Use the product bulk api.
2) Create product with required attributes from the attribute set.
3) Add new attribute to the used attribute set and save
4) Import the product again using the bulk api having the new attribute in the payload
5) Attribute value is not saved on the product

Expected result

After a set is being updated and the eav cache is enabled, the related cache key of the set is being cleaned.
Importing the same payload will have all attribute codes saved to the product that are present on the attribute set

Actual result

Product is missing attribute values that are recently added to the set without cleaning the cache manually

Taken from the upstream issue.

Code match per tag

Each tag was checked with git apply --check against that tag's files. A clean match means the change applies; it is not a test result. Tags that already contain the fix are marked.

LineCode match per tagTests
2.4.6
2.4.6 clean 2.4.6-p1 clean 2.4.6-p2 clean 2.4.6-p3 clean 2.4.6-p4 clean 2.4.6-p5 clean 2.4.6-p6 clean 2.4.6-p7 clean 2.4.6-p8 clean 2.4.6-p9 clean 2.4.6-p10 clean 2.4.6-p11 clean 2.4.6-p12 clean 2.4.6-p13 clean 2.4.6-p14 clean 2.4.6-p15 clean
2.4.6: no test data 2.4.6-p1: no test data 2.4.6-p2: no test data 2.4.6-p3: no test data 2.4.6-p4: no test data 2.4.6-p5: no test data 2.4.6-p6: no test data 2.4.6-p7: no test data 2.4.6-p8: no test data 2.4.6-p9: no test data 2.4.6-p10: no test data 2.4.6-p11: no test data 2.4.6-p12: no test data 2.4.6-p13: no test data 2.4.6-p14: no test data 2.4.6-p15: no test data
2.4.7
2.4.7 clean 2.4.7-p1 clean 2.4.7-p2 clean 2.4.7-p3 clean 2.4.7-p4 clean 2.4.7-p5 clean 2.4.7-p6 clean 2.4.7-p7 clean 2.4.7-p8 clean 2.4.7-p9 clean 2.4.7-p10 clean
2.4.7: no test data 2.4.7-p1: no test data 2.4.7-p2: no test data 2.4.7-p3: no test data 2.4.7-p4: no test data 2.4.7-p5: no test data 2.4.7-p6: no test data 2.4.7-p7: no test data 2.4.7-p8: no test data 2.4.7-p9: no test data 2.4.7-p10: no test data
2.4.8
2.4.8 clean 2.4.8-p1 clean 2.4.8-p2 clean 2.4.8-p3 clean 2.4.8-p4 clean 2.4.8-p5 clean
2.4.8: no test data 2.4.8-p1: no test data 2.4.8-p2: no test data 2.4.8-p3: no test data 2.4.8-p4: no test data 2.4.8-p5: no test data
2.4.9
2.4.9 conflictcontains the fix
2.4.9: no test data

Triage

Model @cf/cloudflare/clef. Probability this is a bug fix: 97.5%. Probability it is security relevant: 0.5%.

Show the model's answers and probabilities
QuestionAnswerProbabilitiesConfidence
Change kindbugfixbugfix 94.6%, refactor 1.9%, feature 1.4%, tests_only 0.9%, dependency 0.7%, docs_only 0.6%87.4%
Areacatalogcatalog 52.8%, framework 37.1%, admin 3.8%33.6%
Reported version2.4.6-p52.4.6-p5 60.0%, 2.4.6 7.0%, 2.4.6-p15 2.3%35.9%
Scope0.86 of 21 52.3%, 0 30.6%, 2 17.1%9.5%
Risk0.42 of 20 66.2%, 1 25.4%, 2 8.4%26.5%
Worth backporting1.55 of 22 64.4%, 1 26.4%, 0 9.2%23.9%

Download

For cweagans/composer-patches, choose a version below and download the bundle. Copy its magento2-38864/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Test files are always removed; paths are relative to each package root, using the default -p1 level.

Packages (1): magento/module-eav
Bundle README (what the ZIP ships)
# magento2-38864

Community fix merged upstream into magento/magento2, adapted by magento.watch.
This is not a patch published by Adobe.

Pull request: https://github.com/magento/magento2/pull/38864
Issue: https://github.com/magento/magento2/issues/38827
Author: @MaximGns
Source commit: fae43865b9ba70cf41c424b9f2bec09d0c52e06b
Modifications: test files and documentation removed, paths rewritten relative to each Composer package.
Licence: OSL-3.0 / AFL-3.0, as the original Magento Open Source code.
Maintainer: Łukasz Bajsarowicz (@lbajsarowicz)

Licence: Magento Open Source code under OSL-3.0 and AFL-3.0. The bundle carries the original author, source commit and the list of modifications.

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.