Indexfehler nach dem Upgrade auf EE 1.14.2.0: Tabelle catalog_product_entity_tmp_indexer existiert nicht

16

Nachdem ich mein Magento auf EE 1.14.2.0 aktualisiert habe, erhält der Cron enterprise_refresh_indeximmer diesen Fehler:

Ausnahme 'PDOException' mit der Meldung 'SQLSTATE [42S02]: Basistabelle oder Sicht nicht gefunden: 1146 Tabelle' catalog_product_entity_tmp_indexer 'existiert nicht' in /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228

Ich verstehe nicht, warum diese Tabelle nicht existiert. Sollte Magento es nicht während des Aktualisierungsindex erstellen?

Witz setzt
quelle
1
Wenn du EE hast, bekommst du meiner Meinung nach Unterstützung?
Richard
Ja, ich könnte es so versuchen.
Joke Puts
1
@ Richard, der zeigt, dass Sie noch nie EE-Unterstützung verwendet haben.
User487772
@ TimBezhashvyly Hallo Tim, nein, ich habe EE auch noch nie benutzt
Richard

Antworten:

5

Dieser Fehler trat nach einem Datenbankneustart in der Produktion und nach einer ersten Neuindizierung in einer lokalen Entwicklungsumgebung mit EE 1.14.2.3 auf.

Was bei uns funktioniert hat war folgendes:

  1. Deaktivieren Sie den Flat-Produktkatalog
  2. Stellen Sie fest, dass der Indexer erfolgreich ausgeführt wird
  3. Aktivieren Sie den Flat-Produktkatalog
  4. Stellen Sie fest, dass der Indexer erfolgreich ausgeführt wird
Aad Mathijssen
quelle
1
Ich habe diese Problemumgehung getestet und es schien für mich zu funktionieren, sodass der Job "enterprise_refresh_index" erfolgreich abgeschlossen werden konnte
mttjohnson
Funktioniert auch bei mir.
df2k2
4

Ich kann die vorhandenen Kommentare / Antworten noch nicht kommentieren, aber ich kann bestätigen, dass SUPEE-5984 das Problem zu lösen scheint, zumindest für unseren Kunden, der auf dieses Problem gestoßen ist (er hat über eine Million Produkte, hat es also immer noch nicht Laufen beendet, aber es läuft jetzt ...). Wir haben mit Magento ein Ticket über den Supportvertrag unseres Kunden eröffnet und Magento hat uns den Patch in weniger als einer Stunde zugesandt.

jvaughn
quelle
1
Achtung, wenn Sie nach dem Patching auf 1.14.2.3 aktualisiert haben, müssen Sie den Patch erneut anwenden, da er nicht in der neuesten Version enthalten ist
Fabian Schmengler,
Für die Aufzeichnung, in 1.14.3 scheint das Problem auf eine andere Weise behoben zu sein und der Patch wird nicht mehr benötigt
Fabian Schmengler
4

Zum späteren Nachschlagen: Der Fehler tritt nicht auf, wenn ich die Datei app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.phpauf unsere vorherige Version 1.14.0.1 zurücksetze.
Der neue Parameter $resetFlagin der Funktion _reindexscheint das Problem zu verursachen.

Witz setzt
quelle
"Awesome", traf nur auf die gleiche Ausgabe. Werde versuchen, ob das auch unser Problem löst.
Anna Völkl
Ich kann bestätigen, dass das Zurücksetzen der Datei den Fehler behebt. Habe ein Update von 1.14.0.1 auf 1.14.2.0 durchgeführt und gerade eine Patch-Datei mit dem geänderten Inhalt von Refresh.php erstellt. Weiter: Kontaktaufnahme mit dem EE-Support.
Anna Völkl
@ AnnaVölkl haben sie dir ein Update dazu zur Verfügung gestellt?
Sergei Guk
2
@ Sergei Guk: Bisher habe ich nur die Datei zurückgesetzt und nicht um offiziellen Support oder Patch gebeten. Ein Update auf 1.14.2.1 (evtl. dort behoben?) Steht in der Warteschlange. Müssen weiter untersuchen, wenn Zeit ist.
Anna Völkl
1
Ein Update auf 1.14.2.1 behebt dies nicht. Der Magento-Support hat einen Patch dafür, aber ich muss ihn noch testen.
Joke Puts
1

Ich hatte das gleiche Problem mit Magento EE 1.14.2.3, aber die oben genannten Lösungen haben bei mir nicht funktioniert. Ich habe herausgefunden, dass das Problem darin liegt Enterprise_Catalog_Helper_Product::getFlatColumns. Ich habe es gelöst, indem ich die Zeile geändert habe

if ($columns !== null) {

zu

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

Natürlich: Bearbeiten Sie die Core-Datei nicht direkt, sondern schreiben Sie sie neu.

Andreas von Studnitz
quelle