Błąd indeksu po aktualizacji do wersji EE 1.14.2.0: tabela katalog_produktu_produktu_produktu_tmp nie istnieje

16

Po aktualizacji mojego Magento do EE 1.14.2.0 cron enterprise_refresh_indexzawsze otrzymuje ten błąd:

wyjątek „PDOException” z komunikatem „SQLSTATE [42S02]: Nie znaleziono tabeli podstawowej lub widoku: 1146 Tabela„ katalog_produktu_produktu_tmp_indexer ”nie istnieje” w /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228

Nie rozumiem, dlaczego ten stół nie istnieje. Czy Magento nie powinien go utworzyć w trakcie indeksu odświeżania?

Żart
źródło
1
Jeśli masz EE, wierzę, że dostaniesz wsparcie?
Richard,
Tak, mógłbym spróbować w ten sposób.
Żart kładzie
1
@ Richard, który pokazuje, że nigdy nie korzystałeś ze wsparcia EE.
user487772
@ TimBezhashvyly Cześć Tim, nie, ja też nigdy nie korzystałem z EE
Richard

Odpowiedzi:

5

Dostępna jest łatka Magento SUPEE-5984, która rozwiązuje tego rodzaju problemy z indeksem odświeżania przedsiębiorstwa.

LearnerCurve
źródło
Nie mogłem znaleźć tej łatki, jeśli masz kopię, byłaby najbardziej doceniana.
Kot Henry'ego
Skontaktuj się z obsługą klienta Magento pod adresem [email protected]. Dziękuję Ci.
LearnerCurve
1
Można znaleźć łatkę na github.com/brentwpeterson/magento-patches/blob/master/EE1.14/... .
Andreas von Studnitz
5

Ten błąd wystąpił po ponownym uruchomieniu bazy danych w środowisku produkcyjnym i po pierwszym reindeksie w lokalnym środowisku programistycznym z uruchomionym programem EE 1.14.2.3.

To, co działało dla nas, było następujące:

  1. Wyłącz katalog produktów płaskich
  2. Zauważ, że indeksator działa poprawnie
  3. Włącz katalog produktów płaskich
  4. Zauważ, że indeksator działa poprawnie
Aad Mathijssen
źródło
1
Przetestowałem to obejście i okazało się, że działa dla mnie, umożliwiając pomyślne zakończenie zadania enterprise_refresh_index
mttjohnson
Dla mnie też działa.
df2k2
4

Nie mogę jeszcze komentować istniejących komentarzy / odpowiedzi, ale mogę potwierdzić, że SUPEE-5984 wydaje się rozwiązać problem, przynajmniej dla naszego klienta, który napotkał ten problem (mają ponad milion produktów, więc nadal nie ma skończył działać, ale teraz działa ...). Otworzyliśmy bilet z Magento poprzez umowę z naszym klientem dotyczącą wsparcia, a Magento dostarczył nam łatkę w niecałą godzinę.

Jvaughn
źródło
1
Uwaga, jeśli zaktualizowałeś wersję 1.14.2.3 po patchowaniu, musisz ponownie zastosować łatkę, ponieważ nie jest ona zawarta w najnowszej wersji
Fabian Schmengler
Dla przypomnienia, w 1.14.3 wydaje się, że problem został rozwiązany w inny sposób, a łatka nie jest już potrzebna
Fabian Schmengler
4

Do wykorzystania w przyszłości: Błąd nie występuje, gdy przywracam plik app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.phpdo naszej poprzedniej wersji 1.14.0.1.
Wydaje się, że nowy parametr $resetFlagw funkcji _reindexpowoduje problem.

Żart
źródło
„Awesome”, właśnie napotkałem ten sam problem. Spróbuję, jeśli to rozwiąże również nasz problem.
Anna Völkl,
Mogę potwierdzić, że cofnięcie pliku rozwiązuje błąd. Dokonałem aktualizacji z wersji 1.14.0.1 do wersji 1.14.2.0 i właśnie utworzyłem plik poprawki ze zmodyfikowaną zawartością Refresh.php. Następnie: skontaktowanie się z obsługą EE.
Anna Völkl,
@ AnnaVölkl, czy dostarczyli ci jakieś informacje na ten temat?
Siergiej Guk,
2
@Sergei Guk: Jak dotąd zresetowałem tylko plik i nie prosiłem o oficjalne wsparcie lub łatę. Aktualizacja do wersji 1.14.2.1 (może tam rozwiązana?) Znajduje się w kolejce. Konieczne jest dalsze zbadanie, kiedy jest na to czas.
Anna Völkl,
1
Aktualizacja do wersji 1.14.2.1 nie rozwiązuje tego problemu. Wsparcie Magento ma łatkę, ale wciąż muszę to przetestować.
Joke Puts
1

Miałem ten sam problem z Magento EE 1.14.2.3, ale powyższe rozwiązania nie działały dla mnie. Dowiedziałem się, że jest problem Enterprise_Catalog_Helper_Product::getFlatColumns. Rozwiązałem to, zmieniając linię

if ($columns !== null) {

do

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

Oczywiście: nie edytuj bezpośrednio pliku podstawowego, ale przepisz.

Andreas von Studnitz
źródło