Skip to content

Commit 90c5380

Browse files
authored
Merge pull request #4964 from magento-performance/MC-16108
[Performance] EAV attribute is not cached
2 parents d585442 + f8ae7f5 commit 90c5380

File tree

28 files changed

+750
-62
lines changed

28 files changed

+750
-62
lines changed

app/code/Magento/Bundle/etc/di.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,4 +221,17 @@
221221
</argument>
222222
</arguments>
223223
</type>
224+
<type name="Magento\Eav\Model\Config">
225+
<arguments>
226+
<argument name="attributesForPreload" xsi:type="array">
227+
<item name="catalog_product" xsi:type="array">
228+
<item name="price_type" xsi:type="string">catalog_product</item>
229+
<item name="price_view" xsi:type="string">catalog_product</item>
230+
<item name="shipment_type" xsi:type="string">catalog_product</item>
231+
<item name="sku_type" xsi:type="string">catalog_product</item>
232+
<item name="weight_type" xsi:type="string">catalog_product</item>
233+
</item>
234+
</argument>
235+
</arguments>
236+
</type>
224237
</config>

app/code/Magento/Catalog/Model/Config.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
use Magento\Framework\Serialize\SerializerInterface;
1010

1111
/**
12+
* Catalog config model.
13+
*
1214
* @SuppressWarnings(PHPMD.LongVariable)
1315
* @SuppressWarnings(PHPMD.TooManyFields)
1416
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
@@ -133,6 +135,7 @@ class Config extends \Magento\Eav\Model\Config
133135
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
134136
* @param \Magento\Eav\Model\Config $eavConfig
135137
* @param SerializerInterface $serializer
138+
* @param array $attributesForPreload
136139
*
137140
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
138141
*/
@@ -149,7 +152,8 @@ public function __construct(
149152
\Magento\Eav\Model\ResourceModel\Entity\Attribute\Set\CollectionFactory $setCollectionFactory,
150153
\Magento\Store\Model\StoreManagerInterface $storeManager,
151154
\Magento\Eav\Model\Config $eavConfig,
152-
SerializerInterface $serializer = null
155+
SerializerInterface $serializer = null,
156+
$attributesForPreload = []
153157
) {
154158
$this->_scopeConfig = $scopeConfig;
155159
$this->_configFactory = $configFactory;
@@ -165,7 +169,9 @@ public function __construct(
165169
$entityTypeCollectionFactory,
166170
$cacheState,
167171
$universalFactory,
168-
$serializer
172+
$serializer,
173+
$scopeConfig,
174+
$attributesForPreload
169175
);
170176
}
171177

app/code/Magento/Catalog/etc/di.xml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1243,4 +1243,83 @@
12431243
<argument name="manager" xsi:type="object">Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager\Proxy</argument>
12441244
</arguments>
12451245
</type>
1246+
<type name="Magento\Eav\Model\Config">
1247+
<arguments>
1248+
<argument name="attributesForPreload" xsi:type="array">
1249+
<item name="catalog_product" xsi:type="array">
1250+
<item name="category_ids" xsi:type="string">catalog_product</item>
1251+
<item name="country_of_manufacture" xsi:type="string">catalog_product</item>
1252+
<item name="created_at" xsi:type="string">catalog_product</item>
1253+
<item name="custom_design" xsi:type="string">catalog_product</item>
1254+
<item name="custom_design_from" xsi:type="string">catalog_product</item>
1255+
<item name="custom_design_to" xsi:type="string">catalog_product</item>
1256+
<item name="custom_layout" xsi:type="string">catalog_product</item>
1257+
<item name="custom_layout_update" xsi:type="string">catalog_product</item>
1258+
<item name="description" xsi:type="string">catalog_product</item>
1259+
<item name="gallery" xsi:type="string">catalog_product</item>
1260+
<item name="has_options" xsi:type="string">catalog_product</item>
1261+
<item name="image" xsi:type="string">catalog_product</item>
1262+
<item name="image_label" xsi:type="string">catalog_product</item>
1263+
<item name="media_gallery" xsi:type="string">catalog_product</item>
1264+
<item name="meta_description" xsi:type="string">catalog_product</item>
1265+
<item name="meta_keyword" xsi:type="string">catalog_product</item>
1266+
<item name="meta_title" xsi:type="string">catalog_product</item>
1267+
<item name="minimal_price" xsi:type="string">catalog_product</item>
1268+
<item name="name" xsi:type="string">catalog_product</item>
1269+
<item name="news_from_date" xsi:type="string">catalog_product</item>
1270+
<item name="news_to_date" xsi:type="string">catalog_product</item>
1271+
<item name="old_id" xsi:type="string">catalog_product</item>
1272+
<item name="options_container" xsi:type="string">catalog_product</item>
1273+
<item name="page_layout" xsi:type="string">catalog_product</item>
1274+
<item name="price" xsi:type="string">catalog_product</item>
1275+
<item name="quantity_and_stock_status" xsi:type="string">catalog_product</item>
1276+
<item name="required_options" xsi:type="string">catalog_product</item>
1277+
<item name="short_description" xsi:type="string">catalog_product</item>
1278+
<item name="sku" xsi:type="string">catalog_product</item>
1279+
<item name="small_image" xsi:type="string">catalog_product</item>
1280+
<item name="small_image_label" xsi:type="string">catalog_product</item>
1281+
<item name="special_from_date" xsi:type="string">catalog_product</item>
1282+
<item name="special_price" xsi:type="string">catalog_product</item>
1283+
<item name="special_to_date" xsi:type="string">catalog_product</item>
1284+
<item name="status" xsi:type="string">catalog_product</item>
1285+
<item name="thumbnail" xsi:type="string">catalog_product</item>
1286+
<item name="thumbnail_label" xsi:type="string">catalog_product</item>
1287+
<item name="tier_price" xsi:type="string">catalog_product</item>
1288+
<item name="updated_at" xsi:type="string">catalog_product</item>
1289+
<item name="visibility" xsi:type="string">catalog_product</item>
1290+
<item name="weight" xsi:type="string">catalog_product</item>
1291+
</item>
1292+
<item name="catalog_category" xsi:type="array">
1293+
<item name="all_children" xsi:type="string">catalog_category</item>
1294+
<item name="available_sort_by" xsi:type="string">catalog_category</item>
1295+
<item name="children" xsi:type="string">catalog_category</item>
1296+
<item name="children_count" xsi:type="string">catalog_category</item>
1297+
<item name="custom_apply_to_products" xsi:type="string">catalog_category</item>
1298+
<item name="custom_design" xsi:type="string">catalog_category</item>
1299+
<item name="custom_design_from" xsi:type="string">catalog_category</item>
1300+
<item name="custom_design_to" xsi:type="string">catalog_category</item>
1301+
<item name="custom_layout_update" xsi:type="string">catalog_category</item>
1302+
<item name="custom_use_parent_settings" xsi:type="string">catalog_category</item>
1303+
<item name="default_sort_by" xsi:type="string">catalog_category</item>
1304+
<item name="description" xsi:type="string">catalog_category</item>
1305+
<item name="display_mode" xsi:type="string">catalog_category</item>
1306+
<item name="filter_price_range" xsi:type="string">catalog_category</item>
1307+
<item name="image" xsi:type="string">catalog_category</item>
1308+
<item name="include_in_menu" xsi:type="string">catalog_category</item>
1309+
<item name="is_active" xsi:type="string">catalog_category</item>
1310+
<item name="is_anchor" xsi:type="string">catalog_category</item>
1311+
<item name="landing_page" xsi:type="string">catalog_category</item>
1312+
<item name="level" xsi:type="string">catalog_category</item>
1313+
<item name="meta_description" xsi:type="string">catalog_category</item>
1314+
<item name="meta_keywords" xsi:type="string">catalog_category</item>
1315+
<item name="meta_title" xsi:type="string">catalog_category</item>
1316+
<item name="name" xsi:type="string">catalog_category</item>
1317+
<item name="page_layout" xsi:type="string">catalog_category</item>
1318+
<item name="path" xsi:type="string">catalog_category</item>
1319+
<item name="path_in_store" xsi:type="string">catalog_category</item>
1320+
<item name="position" xsi:type="string">catalog_category</item>
1321+
</item>
1322+
</argument>
1323+
</arguments>
1324+
</type>
12461325
</config>

app/code/Magento/CatalogUrlRewrite/etc/di.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,18 @@
5656
</argument>
5757
</arguments>
5858
</type>
59+
<type name="Magento\Eav\Model\Config">
60+
<arguments>
61+
<argument name="attributesForPreload" xsi:type="array">
62+
<item name="catalog_product" xsi:type="array">
63+
<item name="url_key" xsi:type="string">catalog_product</item>
64+
<item name="url_path" xsi:type="string">catalog_product</item>
65+
</item>
66+
<item name="catalog_category" xsi:type="array">
67+
<item name="url_key" xsi:type="string">catalog_category</item>
68+
<item name="url_path" xsi:type="string">catalog_category</item>
69+
</item>
70+
</argument>
71+
</arguments>
72+
</type>
5973
</config>

app/code/Magento/Customer/etc/di.xml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,4 +473,58 @@
473473
<preference
474474
for="Magento\Customer\Api\AccountDelegationInterface"
475475
type="Magento\Customer\Model\Delegation\AccountDelegation" />
476+
<type name="Magento\Eav\Model\Config">
477+
<arguments>
478+
<argument name="attributesForPreload" xsi:type="array">
479+
<item name="customer" xsi:type="array">
480+
<item name="confirmation" xsi:type="string">customer</item>
481+
<item name="created_at" xsi:type="string">customer</item>
482+
<item name="created_in" xsi:type="string">customer</item>
483+
<item name="default_billing" xsi:type="string">customer</item>
484+
<item name="default_shipping" xsi:type="string">customer</item>
485+
<item name="disable_auto_group_change" xsi:type="string">customer</item>
486+
<item name="dob" xsi:type="string">customer</item>
487+
<item name="email" xsi:type="string">customer</item>
488+
<item name="failures_num" xsi:type="string">customer</item>
489+
<item name="firstname" xsi:type="string">customer</item>
490+
<item name="first_failure" xsi:type="string">customer</item>
491+
<item name="gender" xsi:type="string">customer</item>
492+
<item name="group_id" xsi:type="string">customer</item>
493+
<item name="lastname" xsi:type="string">customer</item>
494+
<item name="lock_expires" xsi:type="string">customer</item>
495+
<item name="middlename" xsi:type="string">customer</item>
496+
<item name="password_hash" xsi:type="string">customer</item>
497+
<item name="prefix" xsi:type="string">customer</item>
498+
<item name="rp_token" xsi:type="string">customer</item>
499+
<item name="rp_token_created_at" xsi:type="string">customer</item>
500+
<item name="store_id" xsi:type="string">customer</item>
501+
<item name="suffix" xsi:type="string">customer</item>
502+
<item name="taxvat" xsi:type="string">customer</item>
503+
<item name="updated_at" xsi:type="string">customer</item>
504+
<item name="website_id" xsi:type="string">customer</item>
505+
</item>
506+
<item name="customer_address" xsi:type="array">
507+
<item name="city" xsi:type="string">customer_address</item>
508+
<item name="company" xsi:type="string">customer_address</item>
509+
<item name="country_id" xsi:type="string">customer_address</item>
510+
<item name="fax" xsi:type="string">customer_address</item>
511+
<item name="firstname" xsi:type="string">customer_address</item>
512+
<item name="lastname" xsi:type="string">customer_address</item>
513+
<item name="middlename" xsi:type="string">customer_address</item>
514+
<item name="postcode" xsi:type="string">customer_address</item>
515+
<item name="prefix" xsi:type="string">customer_address</item>
516+
<item name="region" xsi:type="string">customer_address</item>
517+
<item name="region_id" xsi:type="string">customer_address</item>
518+
<item name="street" xsi:type="string">customer_address</item>
519+
<item name="suffix" xsi:type="string">customer_address</item>
520+
<item name="telephone" xsi:type="string">customer_address</item>
521+
<item name="vat_id" xsi:type="string">customer_address</item>
522+
<item name="vat_is_valid" xsi:type="string">customer_address</item>
523+
<item name="vat_request_date" xsi:type="string">customer_address</item>
524+
<item name="vat_request_id" xsi:type="string">customer_address</item>
525+
<item name="vat_request_success" xsi:type="string">customer_address</item>
526+
</item>
527+
</argument>
528+
</arguments>
529+
</type>
476530
</config>

app/code/Magento/Downloadable/etc/di.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,16 @@
174174
</argument>
175175
</arguments>
176176
</type>
177+
<type name="Magento\Eav\Model\Config">
178+
<arguments>
179+
<argument name="attributesForPreload" xsi:type="array">
180+
<item name="catalog_product" xsi:type="array">
181+
<item name="links_exist" xsi:type="string">catalog_product</item>
182+
<item name="links_purchased_separately" xsi:type="string">catalog_product</item>
183+
<item name="links_title" xsi:type="string">catalog_product</item>
184+
<item name="samples_title" xsi:type="string">catalog_product</item>
185+
</item>
186+
</argument>
187+
</arguments>
188+
</type>
177189
</config>

0 commit comments

Comments
 (0)