-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Closed
Labels
Fixed in 2.2.xThe issue has been fixed in 2.2 release lineThe issue has been fixed in 2.2 release lineIssue: Clear DescriptionGate 2 Passed. Manual verification of the issue description passedGate 2 Passed. Manual verification of the issue description passedIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedIssue: Format is validGate 1 Passed. Automatic verification of issue format passedGate 1 Passed. Automatic verification of issue format passedIssue: Ready for WorkGate 4. Acknowledged. Issue is added to backlog and ready for developmentGate 4. Acknowledged. Issue is added to backlog and ready for developmentReproduced on 2.2.xThe issue has been reproduced on latest 2.2 releaseThe issue has been reproduced on latest 2.2 releaseReproduced on 2.3.xThe issue has been reproduced on latest 2.3 releaseThe issue has been reproduced on latest 2.3 release
Description
Preconditions
- Magento 2.2.1
- PHP 7.1
- MariaDB
Steps to reproduce
- Create config product and childs
For example with id '1', and his childs with '2','3' - set indexer method to "Update by Schedule"
- Edit and save only Configurable product (don't edit childs)
- waite while cron update MView
- check DB
catalog_product_index_eav. all entries withentity_id=1 andsource_idin (2,3) are deleted. because of this, the filters on the catalog list page do not work correctly
Expected result
- All index must be reindex correct
Actual result
Reson
In file
https://github.com/magento/magento2/blob/2.2-develop/app/code/Magento/Catalog/Model/Indexer/Product/Eav/AbstractAction.php
method
processRelations($indexer, $ids, $onlyParents = false)
if in $ids = only parent id then
$parentIds = $indexer->getRelationsByChild($ids);
return empty result
and
$childIds = $onlyParents ? [] : $indexer->getRelationsByParent($parentIds);
also empty
Fast solution
$parentIds = $indexer->getRelationsByChild($ids);
+$parentIds = array_unique(array_merge($parentIds, $ids));
$childIds = $onlyParents ? [] : $indexer->getRelationsByParent($parentIds);
Metadata
Metadata
Assignees
Labels
Fixed in 2.2.xThe issue has been fixed in 2.2 release lineThe issue has been fixed in 2.2 release lineIssue: Clear DescriptionGate 2 Passed. Manual verification of the issue description passedGate 2 Passed. Manual verification of the issue description passedIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedIssue: Format is validGate 1 Passed. Automatic verification of issue format passedGate 1 Passed. Automatic verification of issue format passedIssue: Ready for WorkGate 4. Acknowledged. Issue is added to backlog and ready for developmentGate 4. Acknowledged. Issue is added to backlog and ready for developmentReproduced on 2.2.xThe issue has been reproduced on latest 2.2 releaseThe issue has been reproduced on latest 2.2 releaseReproduced on 2.3.xThe issue has been reproduced on latest 2.3 releaseThe issue has been reproduced on latest 2.3 release