I got this error when try to reindex catalog_product_price
php bin/magento indexer:reindex catalog_product_price
Notice: Undefined index: default in
/public_html/vendor/magento/module-catalog/Model/ResourceModel/Product/Indexer/Price/BatchSizeCalculator.php
on line 55
BatchSizeCalculator.php as below ( unmodified)
< ?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace MagentoCatalogModelResourceModelProductIndexerPrice;
/**
* Ensure that size of index MEMORY table is enough for configured rows count in batch.
*/
class BatchSizeCalculator
{
/**
* @var array
*/
private $batchRowsCount;
/**
* @var MagentoFrameworkIndexerBatchSizeManagementInterface[]
*/
private $estimators;
/**
* @var MagentoCatalogModelResourceModelProductIndexerPriceCompositeProductBatchSizeAdjusterInterface[]
*/
private $batchSizeAdjusters;
/**
* BatchSizeCalculator constructor.
* @param array $batchRowsCount
* @param array $estimators
* @param array $batchSizeAdjusters
*/
public function __construct(array $batchRowsCount, array $estimators, array $batchSizeAdjusters)
{
$this->batchRowsCount = $batchRowsCount;
$this->estimators = $estimators;
$this->batchSizeAdjusters = $batchSizeAdjusters;
}
/**
* Retrieve batch size for the given indexer.
*
* Ensure that the database will be able to handle provided batch size correctly.
*
* @param MagentoFrameworkDBAdapterAdapterInterface $connection
* @param string $indexerTypeId
* @return int
*/
public function estimateBatchSize(MagentoFrameworkDBAdapterAdapterInterface $connection, $indexerTypeId)
{
$batchRowsCount = isset($this->batchRowsCount[$indexerTypeId])
? $this->batchRowsCount[$indexerTypeId]
: $this->batchRowsCount['default'];
/** @var MagentoFrameworkIndexerBatchSizeManagementInterface $calculator */
$calculator = isset($this->estimators[$indexerTypeId])
? $this->estimators[$indexerTypeId]
: $this->estimators['default'];
$batchRowsCount = isset($this->batchSizeAdjusters[$indexerTypeId])
? $this->batchSizeAdjusters[$indexerTypeId]->adjust($batchRowsCount)
: $batchRowsCount;
$calculator->ensureBatchSize($connection, $batchRowsCount);
return $batchRowsCount;
}
}
tried running following doesn’t work
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento indexer:reindex
bin/magento cache:clean
bin/magento cache:flush