Error de índice después de la actualización a EE 1.14.2.0: la tabla catalog_product_entity_tmp_indexer no existe

16

Después de actualizar mi Magento a EE 1.14.2.0, el cron enterprise_refresh_indexsiempre recibe este error:

excepción 'PDOException' con el mensaje 'SQLSTATE [42S02]: tabla base o vista no encontrada: 1146 La tabla' catalog_product_entity_tmp_indexer 'no existe' en /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228

No entiendo por qué esta tabla no existe. ¿No debería Magento crearlo en el proceso del índice de actualización?

Broma pone
fuente
1
Si tienes EE, creo que recibirás apoyo.
Richard
Sí, podría intentarlo de esa manera.
Broma pone
1
@ Richard, que muestra que nunca usaste soporte EE.
user487772
@TimBezhashvyly Hola Tim, no, nunca he usado EE tampoco
Richard

Respuestas:

5

Encontramos este error después de reiniciar la base de datos en producción y después de una primera reindexación en un entorno de desarrollo local, ejecutando EE 1.14.2.3.

Lo que funcionó para nosotros fue lo siguiente:

  1. Deshabilitar el catálogo de productos planos
  2. Observe que el indexador se ejecuta correctamente
  3. Habilitar el catálogo de productos planos
  4. Observe que el indexador se ejecuta correctamente
Aad Mathijssen
fuente
1
Probé esta solución alternativa y pareció funcionar para mí, permitiendo que el trabajo enterprise_refresh_index se completara con éxito
mttjohnson
A mí también me funciona.
df2k2
4

Todavía no puedo comentar sobre los comentarios / respuestas existentes, pero puedo confirmar que SUPEE-5984 parece resolver el problema, al menos para nuestro cliente que encontró este problema (tienen más de un millón de productos, por lo que aún no lo ha hecho) terminó de ejecutarse, pero está funcionando ahora ...). Abrimos un ticket con Magento a través del contrato de soporte de nuestro cliente con ellos y Magento nos consiguió el parche en menos de una hora.

jvaughn
fuente
1
Precaución, si actualizó a 1.14.2.3 después de parchear, debe aplicar el parche nuevamente porque no está incluido en la última versión
Fabian Schmengler,
Para el registro, en 1.14.3 el problema parece solucionarse de una manera diferente y el parche ya no es necesario
Fabian Schmengler
4

Para referencia futura: el error no ocurre cuando revierto el archivo app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.phpa nuestra versión anterior 1.14.0.1.
El nuevo parámetro $resetFlagen la función _reindexparece causar el problema.

Broma pone
fuente
"Impresionante", me encontré con el mismo problema. Lo intentaremos si eso también resuelve nuestro problema.
Anna Völkl
Puedo confirmar que revertir el archivo resuelve el error. Hice una actualización de 1.14.0.1 a 1.14.2.0 y acaba de crear un archivo de parche con el contenido modificado de Refresh.php. Siguiente: contactando el soporte de EE.
Anna Völkl
@ AnnaVölkl, ¿le proporcionaron alguna actualización sobre esto?
Sergei Guk
2
@Sergei Guk: Hasta ahora solo restablecí el archivo y no solicité soporte o parche oficial. Una actualización a 1.14.2.1 (¿tal vez resuelta allí?) Está en la cola. Necesito investigar más cuando hay tiempo para hacerlo.
Anna Völkl
1
Una actualización a 1.14.2.1 no soluciona esto. El soporte de Magento tiene un parche pero todavía tengo que probarlo.
Broma pone
1

Tuve el mismo problema con Magento EE 1.14.2.3, pero las soluciones anteriores no me funcionaron. Descubrí que el problema estaba en Enterprise_Catalog_Helper_Product::getFlatColumns. Lo resolví cambiando la línea

if ($columns !== null) {

a

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

Por supuesto: no edite el archivo central directamente, sino que vuelva a escribirlo.

Andreas von Studnitz
fuente