Erro de índice após a atualização para o EE 1.14.2.0: a tabela catalog_product_entity_tmp_indexer não existe

16

Depois de atualizar meu Magento para o EE 1.14.2.0, o cron enterprise_refresh_indexsempre recebe este erro:

exceção 'PDOException' com a mensagem 'SQLSTATE [42S02]: Tabela base ou exibição não encontrada: 1146 A tabela' catalog_product_entity_tmp_indexer 'não existe' em /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228

Não entendo por que essa tabela não existe. O Magento não deve criá-lo no processo do índice de atualização?

Joke Puts
fonte
1
Se você tiver EE, acredito que obterá suporte?
Richard
Sim, eu poderia tentar dessa maneira.
Piada Coloca
1
@ Richard, que mostra que você nunca usou o suporte a EE.
user487772
@TimBezhashvyly Oi Tim, não, eu nunca usei EE também #
Richard

Respostas:

5

Encontramos esse erro após uma reinicialização do banco de dados na produção e após uma primeira reindexação em um ambiente de desenvolvimento local, executando o EE 1.14.2.3.

O que funcionou para nós foi o seguinte:

  1. Desativar o catálogo de produtos simples
  2. Observe que o indexador é executado com sucesso
  3. Ativar o catálogo de produtos simples
  4. Observe que o indexador é executado com sucesso
Aad Mathijssen
fonte
1
Eu testei essa solução alternativa e parecia trabalho para mim, permitindo que o trabalho enterprise_refresh_index para concluir com êxito
mttjohnson
Funciona para mim também.
df2k2
4

Ainda não posso comentar os comentários / respostas existentes, mas posso confirmar que o SUPEE-5984 parece resolver o problema, pelo menos para o nosso cliente que encontrou esse problema (eles têm mais de um milhão de produtos, por isso ainda não o fez) terminou de executar, mas está sendo executado agora ...). Abrimos um ticket com o Magento através do contrato de suporte de nossos clientes com eles e o Magento nos deu o patch em menos de uma hora.

jvaughn
fonte
1
Cuidado, se você atualizado para 1.14.2.3 Após o patch, você tem que aplicar o patch novamente porque é não incluído na versão mais recente
Fabian Schmengler
Para constar, em 1.14.3 o problema parece ser corrigido de uma maneira diferente e o patch não é mais necessário
Fabian Schmengler
4

Para referência futura: O erro não ocorre quando eu app/code/core/Enterprise/Catalog/Model/Index/Action/Product/Flat/Refresh.phpreverto o arquivo para a versão anterior 1.14.0.1.
O novo parâmetro $resetFlagna função _reindexparece causar o problema.

Joke Puts
fonte
"Awesome", acabou de encontrar o mesmo problema. Tentará se isso também resolver nosso problema.
Anna Völkl
Posso confirmar que a reversão do arquivo resolve o erro. Fiz uma atualização de 1.14.0.1 para 1.14.2.0 e apenas criei um arquivo de patch com o conteúdo modificado de Refresh.php. Próximo: entrar em contato com o suporte de EE.
Anna Völkl
@ AnnaVölkl eles forneceram alguma atualização sobre isso?
Sergei Guk
2
@Sergei Guk: Até agora, redefini o arquivo e não solicitei suporte ou patch oficial. Uma atualização para 1.14.2.1 (talvez resolvida lá?) Está na fila. Precisa investigar mais quando houver tempo.
Anna Völkl
1
Uma atualização para 1.14.2.1 não corrige isso. O suporte do Magento possui um patch, mas ainda preciso testá-lo.
Joke Coloca
1

Eu tive o mesmo problema com o Magento EE 1.14.2.3, mas as soluções acima não funcionaram para mim. Eu descobri que o problema estava Enterprise_Catalog_Helper_Product::getFlatColumns. Eu resolvi mudando a linha

if ($columns !== null) {

para

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

Claro: não edite o arquivo principal diretamente, mas faça uma reescrita.

Andreas von Studnitz
fonte