Errore indice dopo l'aggiornamento a EE 1.14.2.0: tabella catalog_product_entity_tmp_indexer non esiste


16

Dopo aver aggiornato il mio Magento a EE 1.14.2.0 il cron enterprise_refresh_indexriceve sempre questo errore:

eccezione 'PDOException' con messaggio 'SQLSTATE [42S02]: tabella di base o vista non trovata: 1146 tabella' catalog_product_entity_tmp_indexer 'non esiste' in /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228

Non capisco perché questa tabella non esiste. Magento non dovrebbe crearlo nel processo dell'indice di aggiornamento?


1
Se hai EE credo che otterrai supporto?
— Richard,

Sì, potrei provarlo in questo modo.
— Joke mette il

1
@Richard che mostra che non hai mai usato il supporto EE.
— user487772

@TimBezhashvyly Ciao Tim, no, non ho mai usato neanche EE
— Richard

Risposte:



5

Abbiamo riscontrato questo errore dopo il riavvio del database in produzione e dopo un primo reindicizzazione in un ambiente di sviluppo locale, con EE 1.14.2.3.

Ciò che ha funzionato per noi è stato il seguente:

  1. Disabilita il catalogo prodotti piatto
  2. Si noti che l'indicizzatore funziona correttamente
  3. Abilita il catalogo prodotti piatto
  4. Si noti che l'indicizzatore funziona correttamente

1
Ho provato questa soluzione alternativa e sembrava funzionare per me, consentendo il completamento del lavoro enterprise_refresh_index
— mttjohnson,

Funziona anche per me.
— df2k2,

4

Non posso ancora commentare i commenti / le risposte esistenti, ma posso confermare che SUPEE-5984 sembra risolvere il problema, almeno per il nostro cliente che ha riscontrato questo problema (hanno oltre un milione di prodotti, quindi non ha ancora finito di funzionare, ma è in esecuzione ora ...). Abbiamo aperto un biglietto con Magento attraverso il contratto di supporto del cliente con loro e Magento ci ha procurato la patch in meno di un'ora.


1
Attenzione, se si è aggiornato alla versione 1.14.2.3 dopo l'applicazione della patch, è necessario applicare nuovamente la patch perché non è inclusa nell'ultima versione
— Fabian Schmengler,

Per la cronaca, in 1.14.3 il problema sembra essere stato risolto in un modo diverso e la patch non è più necessaria
— Fabian Schmengler,

4

Per riferimento futuro: l'errore non si verifica quando ripristino il file app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.phpalla versione precedente 1.14.0.1.
Il nuovo parametro $resetFlagnella funzione _reindexsembra causare il problema.


"Fantastico", ho appena incontrato lo stesso problema. Proverà se questo risolve anche il nostro problema.
— Anna Völkl,

Posso confermare che il ripristino del file risolve l'errore. Ha effettuato un aggiornamento dalla 1.14.0.1 alla 1.14.2.0 e ha appena creato un file patch con il contenuto modificato di Refresh.php. Avanti: contattare il supporto EE.
— Anna Völkl,

@ AnnaVölkl ti hanno fornito qualche aggiornamento su questo?
— Sergei Guk,

2
@Sergei Guk: finora ho ripristinato solo il file e non ho richiesto supporto o patch ufficiali. Un aggiornamento alla versione 1.14.2.1 (forse risolto lì?) È in coda. È necessario indagare ulteriormente quando c'è tempo per.
— Anna Völkl,

1
Un aggiornamento a 1.14.2.1 non risolve questo problema. Il supporto Magento ha una patch per esso, ma devo ancora testarlo.
— Joke mette il

1

Ho avuto lo stesso problema con Magento EE 1.14.2.3, ma le soluzioni di cui sopra non hanno funzionato per me. Ho scoperto che il problema era Enterprise_Catalog_Helper_Product::getFlatColumns. L'ho risolto cambiando la linea

if ($columns !== null) {

per

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

Naturalmente: non modificare direttamente il file principale, ma eseguire una riscrittura.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.