Помилка індексу після оновлення до EE 1.14.2.0: каталог_фабрика_продуктів_entity_tmp_indexer не існує


16

Після того як я модернізував свій Magento до EE 1.14.2.0, cron enterprise_refresh_indexзавжди отримує цю помилку:

виняток 'PDOException' з повідомленням 'SQLSTATE [42S02]: Базова таблиця або представлення не знайдено: 1146 Таблиця' catalog_product_entity_tmp_indexer 'не існує' в /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228

Я не розумію, чому цієї таблиці не існує. Чи не повинен Magento створити його в процесі оновлення індексу?


1
Якщо у вас є EE, я вважаю, ви отримаєте підтримку?
Річард

Так, я міг би спробувати саме так.
Жарт ставить

1
@ Richard, який показує, що ви ніколи не використовували підтримку EE.
user487772

@TimBezhashvyly Привіт Тім, ні, я ніколи не використовував EE, хоча
Річард

Відповіді:


5

Існує патч Magento SUPEE-5984, який вирішує подібні проблеми Enterprise Refresh Index.


Я не зміг знайти цей виправлення, якщо у вас є його копія, це було б дуже вдячно.
Кіт Генрі

Зверніться до служби підтримки Magento за адресою support@magento.com. Дякую.
LearnerCurve

1
Ви можете знайти виправлення на веб- сайті github.com/brentwpeterson/magento-patches/blob/master/EE1.14/… .
Андреас фон Студніц

5

З цією помилкою ми зіткнулися після перезавантаження бази даних у виробництві та після першого переосмислення локального середовища розробки, запустивши EE 1.14.2.3.

Для нас працювало таке:

  1. Вимкнути каталог продуктів
  2. Зауважте, що індексатор працює успішно
  3. Увімкніть плоский каталог товарів
  4. Зауважте, що індексатор працює успішно

1
Я перевірив це вирішення, і, здається, він спрацював для мене, що дозволило успішно виконати роботу enterprise_refresh_index
mttjohnson

Працює і для мене.
df2k2

4

Я поки не можу коментувати наявні коментарі / відповіді, але можу підтвердити, що SUPEE-5984, мабуть, вирішує проблему, принаймні для нашого клієнта, який стикався з цією проблемою (у них понад мільйон продуктів, тому вона досі не має закінчив біг, але він зараз працює ...). Ми відкрили квиток з Magento через контракт на підтримку нашого клієнта, і Magento отримав нам патч менше ніж за годину.


1
Обережно, якщо ви оновили до 1.14.2.3 після виправлення, вам доведеться знову застосувати патч, оскільки він не включений в останню версію
Fabian Schmengler

Для запису, в 1.14.3 видання виправлене по-іншому, і виправлення більше не потрібне
Фабіан Шменглер

4

Для подальшої довідки: помилка не виникає, коли я повертаю файл app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.phpдо попередньої версії 1.14.0.1.
Новий параметр $resetFlagу функції, _reindexздається, викликає проблему.


"Awesome", щойно зіткнувся з тим же номером. Спробуємо, якщо це вирішить і нашу проблему.
Anna Völkl

Я можу підтвердити, що повернення файлу вирішує помилку. Зробив оновлення з 1.14.0.1 до 1.14.2.0 і тільки-но створив патч-файл із зміненим вмістом Refresh.php. Далі: зверніться до служби підтримки EE.
Anna Völkl

@ AnnaVölkl чи надали вам оновлення з цього приводу?
Сергій Гук

2
@Sergei Guk: Поки я лише скинув файл і не попросив офіційної підтримки чи виправлення. Оновлення до 1.14.2.1 (можливо, там вирішено?) Знаходиться у черзі. Потрібно досліджувати далі, коли є час.
Anna Völkl

1
Оновлення до 1.14.2.1 цього не виправляє. Підтримка Magento має патч для цього, але мені все одно доведеться перевірити його.
Жарт ставить

1

У мене була така ж проблема з Magento EE 1.14.2.3, але вищевказані рішення не працювали для мене. Я з'ясував, що проблема в Enterprise_Catalog_Helper_Product::getFlatColumns. Я вирішив це, змінивши лінію

if ($columns !== null) {

до

if ($columns !== null && $columns !== false) {

Звичайно: не редагуйте основний файл безпосередньо, а перепишіть.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.