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?


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

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

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ę.


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.


„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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.