Skip to content

Commit 593edf7

Browse files
committed
Merge remote-tracking branch 'origin/MC-30568' into 2.4-develop-pr24
2 parents 3e9544f + 819c0c8 commit 593edf7

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

app/code/Magento/Indexer/Console/Command/IndexerReindexCommand.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,11 @@ protected function getIndexers(InputInterface $input)
132132
$dependentIndexers[] = $this->getDependentIndexerIds($indexer->getId());
133133
}
134134

135-
$relatedIndexers = array_merge(...$relatedIndexers);
136-
$dependentIndexers = array_merge(...$dependentIndexers);
135+
$relatedIndexers = $relatedIndexers ? array_unique(array_merge(...$relatedIndexers)) : [];
136+
$dependentIndexers = $dependentIndexers ? array_merge(...$dependentIndexers) : [];
137137

138138
$invalidRelatedIndexers = [];
139-
foreach (array_unique($relatedIndexers) as $relatedIndexer) {
139+
foreach ($relatedIndexers as $relatedIndexer) {
140140
if ($allIndexers[$relatedIndexer]->isInvalid()) {
141141
$invalidRelatedIndexers[] = $relatedIndexer;
142142
}
@@ -169,8 +169,9 @@ private function getRelatedIndexerIds(string $indexerId): array
169169
$relatedIndexerIds[] = [$relatedIndexerId];
170170
$relatedIndexerIds[] = $this->getRelatedIndexerIds($relatedIndexerId);
171171
}
172+
$relatedIndexerIds = $relatedIndexerIds ? array_unique(array_merge(...$relatedIndexerIds)) : [];
172173

173-
return array_unique(array_merge(...$relatedIndexerIds));
174+
return $relatedIndexerIds;
174175
}
175176

176177
/**
@@ -189,8 +190,9 @@ private function getDependentIndexerIds(string $indexerId): array
189190
$dependentIndexerIds[] = $this->getDependentIndexerIds($id);
190191
}
191192
}
193+
$dependentIndexerIds = $dependentIndexerIds ? array_unique(array_merge(...$dependentIndexerIds)) : [];
192194

193-
return array_unique(array_merge(...$dependentIndexerIds));
195+
return $dependentIndexerIds;
194196
}
195197

196198
/**
@@ -251,6 +253,8 @@ private function validateSharedIndex($sharedIndex)
251253
$indexer = $this->getIndexerRegistry()->get($indexerId);
252254
/** @var \Magento\Indexer\Model\Indexer\State $state */
253255
$state = $indexer->getState();
256+
$state->setStatus(StateInterface::STATUS_WORKING);
257+
$state->save();
254258
$state->setStatus(StateInterface::STATUS_VALID);
255259
$state->save();
256260
}

app/code/Magento/Indexer/Model/Processor.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
use Magento\Framework\Indexer\IndexerInterfaceFactory;
1111
use Magento\Framework\Indexer\StateInterface;
1212

13+
/**
14+
* Indexer processor
15+
*/
1316
class Processor
1417
{
1518
/**
@@ -70,6 +73,8 @@ public function reindexAllInvalid()
7073
} else {
7174
/** @var \Magento\Indexer\Model\Indexer\State $state */
7275
$state = $indexer->getState();
76+
$state->setStatus(StateInterface::STATUS_WORKING);
77+
$state->save();
7378
$state->setStatus(StateInterface::STATUS_VALID);
7479
$state->save();
7580
}

0 commit comments

Comments
 (0)