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.