[Bug]: Products Datagrid performance drop at 2.1.6
Author: JaxxCCreated Jul 22, 2026Updated Aug 3, 2026
LabelsBug
Pre-submission checklist
- I have searched the existing issues and this bug has not already been reported.
UnoPim Version(s) affected
2.1.6
Issue Description
After upgrade from 1.0.0 to 2.1.6 noticed huge performance drop at Catalog ->Products table. I found reason, `public function prepareColumns() { $this->managedColumns = request()->input('managedColumns', []); $this->defaultColumns = ! empty($this->managedColumns) ? $this->managedColumns : $this->defaultColumns;
$propertyColumns = $this->getPropertyColumns();
foreach ($this->defaultColumns as $column) {
if (! isset($propertyColumns[$column])) {
$this->prepareAttributeColumns($column);
continue;
}
$this->addColumn($propertyColumns[$column]);
}
// $this->addFilterableAttributes(); - this feature drop performance
}`
To be honest, I'm do not completely understand purpose of adding all attributes with 'is_filterable' to list of selected attributes, but look whet happens:
- is_filterable - field which determine if attribute used for filtering in shop, otherwise it only used for list of product params
- our production contains near 3k attributes, 2k of them is_filterable
- $this->addFilterableAttributes(); - get 2k attributes, process them, and tries to push all to displayed fields Sure it takes 10-20 seconds, and I really do not see how it may be useful. After commenting this string all returns to instant prosessing (We use Elasticsearch, so its really fast)
Preconditions (environment)
- PHP version: 8.3
- Database (MySQL/PostgreSQL + version): MariaDB
- Elasticsearch version (or "not used"): 9.1.2
- Web server: Octane
- OS: Ubuntu
- Browser: Chrome
Steps to reproduce
- Create 3000 attributes
- Set 2000 attributes 'is_filterable'
- Open Catalog->Products
- See long processing time
Expected Result
Near instant processing
Actual Result
10-20 seconds pending
Screenshots
No response
Additional Context
No response
Source: unopim/unopim