Quero saber por que o Amazon Redshift sem servidor cancelou ou interrompeu minha consulta e recebo uma mensagem de erro.
Breve descrição
Seguem os motivos pelos quais uma consulta é cancelada ou interrompida no Amazon Redshift:
- Você atingiu a cota de consultas.
- Você atingiu a cota de uso do grupo de trabalho para unidades de processamento do Redshift (RPUs).
- Sua consulta excedeu o valor de statement_timeout.
- Outro usuário interrompeu ou cancelou a consulta.
- Há problemas com a conexão de rede.
Resolução
Verifique a cota de consultas do grupo de trabalho do Amazon Redshift sem servidor
Quando você atinge a cota de consulta do grupo de trabalho, a consulta retorna a seguinte mensagem de erro:
“ERROR: Query (6800381) cancelled on user's request.”
Para confirmar que o Amazon Redshift cancelou a consulta porque você atingiu a cota, execute a seguinte instrução SQL no editor de consultas do Amazon Redshift:
SELECT query_id, query_text, error_message from SYS_QUERY_HISTORY WHERE error_message ILIKE '%cancelled on user%';
Para resolver esse problema, aumente a cota de consultas do grupo de trabalho.
Verificar a cota de uso do grupo de trabalho do Amazon Redshift sem servidor para RPUs
Quando você atinge a cota de uso do grupo de trabalho para RPUs, a consulta retorna a seguinte mensagem de erro:
“Error: Query reached usage limit.”
Para confirmar que o Amazon Redshift cancelou a consulta porque você atingiu a cota de uso, execute a seguinte instrução SQL no editor de consultas do Amazon Redshift:
SELECT query_id, query_text, usage_limit, error_message FROM SYS_QUERY_HISTORY WHERE error_message ILIKE '%reached usage limit%';
Para resolver esse problema, aumente a cota de uso do grupo de trabalho.
Verificar se a consulta excedeu o valor de statement_timeout
Quando uma consulta excede o valor de statement_timeout, o Amazon Redshift cancela as consultas que você envia durante a sessão. A consulta retorna a seguinte mensagem de erro:
“ERROR: Query (150) cancelled on user's request.”
Para verificar o tempo limite da instrução do seu cluster, execute a seguinte instrução SQL no editor de consultas do Amazon Redshift:
SHOW statement_timeout;
A instrução mostra o tempo limite da instrução a nível de cluster em milissegundos. Para alterar a saída, modifique os parâmetros na configuração do gerenciamento do workload.
Para confirmar que o Amazon Redshift cancelou a consulta devido ao tempo limite da instrução, execute a seguinte instrução SQL no Editor de consultas do Amazon Redshift:
SELECT * FROM SYS_QUERY_HISTORY WHERE query_text ILIKE '%set%statement_timeout%to%';
Se o Amazon Redshift cancelou sua consulta, execute o seguinte comando para aumentar o valor de statement_timeout:
SET statement_timeout = (value)
Observação: substitua (value) por um valor maior do que o valor anterior de statement_timeout.
Verificar se outro usuário interrompeu ou cancelou a consulta
Para verificar se outro usuário interrompeu ou cancelou uma consulta, execute o comando a seguir e revise a coluna error_message:
SELECT * FROM sys_query_history WHERE session_id = process_id;
Observação: substitua process_id pelo ID do processo.
Para visualizar as consultas interrompidas, execute a seguinte instrução SQL no editor de consultas do Amazon Redshift:
SELECT * FROM sys_query_history WHERE error_message ILIKE '%terminate%';
Para visualizar as consultas canceladas, execute a seguinte instrução SQL no editor de consultas do Amazon Redshift:
SELECT * FROM sys_query_history WHERE error_message ILIKE '%canceled by user%';
Se a consulta aparecer na saída, um usuário interrompeu ou cancelou a consulta.
Observação: os usuários podem interromper somente a própria sessão. O superusuário pode interromper todas as sessões.
Problemas de rede
Problemas de rede também podem cancelar consultas.
Para verificar se há um problema com a conexão de rede, execute o seguinte comando para verificar a visualização de monitoramento de SYS_CONNECTION_LOG:
SELECT * FROM SYS_CONNECTION_LOG WHERE session_id = process_id;
Observação: substitua process_id pelo ID do processo.
Informações relacionadas
Por que minha consulta foi cancelada no Amazon Redshift?