CloudSQL ERROR 2013 da instância do GCE

1

De uma instância do GCE, estou executando o seguinte na linha de comando

> mysql -udbase -p -DmyDb -hmyIp
> 
> mysql> SELECT account, count(account)
>     -> FROM 'headers'
>     -> where labelIds='["SENT"]'
>     -> group by account order by 2 desc limit 0,50;

Uma vez executado, monitoro o comando SQL em outro shell, verificando a lista de processos. Eu vejo o SQL, o processId e o tempo que ele está levando para executar.

Após este último teste, o processId mudou de Consulta para suspensão após 1172 segundos.

No entanto, o comando mysql não recebe a resposta, apenas fica lá, como se ainda estivesse esperando por alguma resposta do CloudSql.

Após um minuto ou dois, o processID desaparece da lista de processos, e ainda assim o comando mysql está lá, como se estivesse esperando.

Depois de um longo período de tempo (mais de duas horas, deixei durante a noite), finalmente consegui:

ERROR 2013 (HY000) na linha 1: Perda de conexão com o servidor MySQL durante a consulta

É como se a conexão entre o GCE e o CloudSQL fosse cortada, apenas que o cliente não percebesse isso.

De acordo com as recomendações de outro post, exagerei os números em

sudo / sbin / sysctl -w net.ipv4.tcp_keepalive_time = 1800 net.ipv4.tcp_keepalive_intvl = 1800 net.ipv4.tcp_keepalive_probes = 50

Mas a única coisa que isso pareceu fazer é prolongar o tempo entre a conclusão da consulta e o momento em que o cliente finalmente se desconecta.

Se net_read_timeout for aplicado, o cliente não deve dar o erro muito antes?

Obrigado pela sua ajuda.

    
por miturbe 28.07.2015 / 16:54

1 resposta

1

Eu tinha lido errado o artigo de solução de problemas link corrigindo todos os parâmetros corrigidos

    
por 28.07.2015 / 22:21