Устранение сбоя «Cannot initialize the indexer process»

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
  • Тема закрыта
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

25.08.2012 21:28

Зачастую перестройка расчётных таблиц приводит к сбою «Cannot initialize the indexer process».
В старых версиях Magento сообщение выглядит как «There was a problem with reindexing process».
При включенной русификации Российской сборки Magento сообщение выглядит как «При обновлении расчётной таблицы произошёл сбой».
В туповатом русском переводе, ходящем по сети, сообщение выглядит как «Невозможно инициализировать процесс индексатора».

Прикрепленное изображение: magento-cannot-initialize-the-indexer-process.png

Причины подобного сбоя могут быть разными.
Однако самую распространённую из них способна устранять Российская сборка Magento, начиная с версии 2.0.3.

Если Вы хотете просто решить проблему, не вдаваясь в технические подробности, то откройте в Российской сборке Magento административный раздел «Система» → «Настройки» → «Российская сборка» → «Административная часть» → «Расчётные таблицы» и в графе «Максимальное количество символов для хранения значения свойства товара» укажите какое-либо натуральное число, меньшее 255. Попробуйте, например, число 100.

Прикрепленное изображение: magento-cannot-initialize-the-indexer-process-2.png

После установки значения указанного поля обновите кэш и перестройте расчётные таблицы.

Прикрепленное изображение: magento-cannot-initialize-the-indexer-process-3.png

Если сбой произойдёт снова — попробуйте число поменьше, и так до тех пор, пока проблема не будет решена (а она будет решена).

Теперь опишу технические детали.
Magento по умолчанию отводит на хранение значения одного свойства товара в своей базе данных 255 символов, для хранения которых MySQL выделяет 255 * 3 + 2 = 767 байтов.
Magento объединяет все свойства товаров в единой расчётной таблице, колонками которой служат свойства, а строками — товары.
Если свойств товаров слишком много, то Magento превышает системное ограничение MySQL на одну строку таблицы: 65535 байтов, что приводит к сбою построения расчётной таблицы товаров.
Для избежания данного сбоя Российская сборка Magento позволяет уменьшить отводимое на одно свойство количество символов с 255
до какого-либо меньшего натурального значения.
При значении «0» в данном поле система не будет уменьшать количество символов на свойство.

#2 Сергей Садовой
  • Группа: Пользователь
  • Сообщений: 1
  • Регистрация: 05.07.2013

05.07.2013 11:57

Здравствуйте!
А на обычной сборке версии Magentо 1.6.1.0 такие настройки где найти? Перейти на более новую версия, я так понимаю, нельзя.

#3 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

05.07.2013 11:59

На этом форуме сопровождаются только клиенты Российской сборки Magento. Все остальные пиздуют нахуй.

Поделиться темой: