Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Nesta página, você encontra uma lista de problemas conhecidos do Cloud Composer. Para informações sobre correções de problemas, consulte as notas da versão.
A primeira execução de DAG para um arquivo DAG enviado tem várias tarefas com falha
Quando você faz o upload de um arquivo DAG, às vezes as primeiras tarefas da primeira execução do DAG falham com o erro Unable to read remote log...
. Esse problema ocorre porque o arquivo DAG é sincronizado entre o bucket do ambiente, os workers do Airflow e os programadores do Airflow do ambiente. Se o programador receber o arquivo DAG e programá-lo para ser executado
por um worker, e se o worker ainda não tiver o arquivo DAG, a execução da tarefa
vai falhar.
Para minimizar esse problema, os ambientes com o Airflow 2 são configurados para executar duas novas tentativas de uma tarefa com falha por padrão. Se uma tarefa falhar, ela será repetida duas vezes com intervalos de cinco minutos.
O Cloud Composer não deve ser afetado pela vulnerabilidade do Apache Log4j 2 (CVE-2021-44228)
Em resposta à vulnerabilidade do Apache Log4j 2 (CVE-2021-44228), o Cloud Composer realizou uma investigação detalhada e acreditamos que ele não está vulnerável a esse exploit.
Às vezes, a interface do Airflow não recarrega um plug-in depois que ele é alterado.
Se um plug-in consistir em muitos arquivos que importam outros módulos, a interface do Airflow talvez não consiga reconhecer que um plug-in precisa ser recarregado. Nesse caso, reinicie o servidor da Web do Airflow do seu ambiente.
Erro 504 ao acessar a interface do Airflow
Você pode receber o erro 504 Gateway Timeout
ao acessar a interface do Airflow. Esse erro pode ter várias causas:
Problema de comunicação temporário. Nesse caso, tente acessar a interface do Airflow mais tarde. Também é possível reiniciar o servidor da Web do Airflow.
(Somente no Cloud Composer 3) Problema de conectividade. Se a interface do Airflow estiver permanentemente indisponível e forem gerados erros de tempo limite ou 504, verifique se o ambiente pode acessar
*.composer.googleusercontent.com
.(Somente no Cloud Composer 2) Problema de conectividade. Se a interface do Airflow estiver permanentemente indisponível e forem gerados erros de tempo limite ou 504, verifique se o ambiente pode acessar
*.composer.cloud.google.com
. Se você usa o Acesso privado do Google e envia tráfego por IPs virtuaisprivate.googleapis.com
ou o VPC Service Controls e envia tráfego por IPs virtuaisrestricted.googleapis.com
, verifique se o Cloud DNS também está configurado para nomes de domínio*.composer.cloud.google.com
.Servidor da Web do Airflow que não responde. Se o erro 504 persistir, mas você ainda conseguir acessar a interface do Airflow em determinados momentos, o servidor da Web do Airflow poderá estar sem resposta por estar sobrecarregado. Tente aumentar os parâmetros de escala e desempenho do servidor da Web.
Erro 502 ao acessar a interface do Airflow
O erro 502 Internal server exception
indica que a interface do Airflow não pode
atender às solicitações recebidas. Esse erro pode ter várias causas:
Problema de comunicação temporário. Tente acessar a interface do Airflow mais tarde.
Falha ao iniciar o servidor da Web. Para começar, o servidor da Web precisa que os arquivos de configuração sejam sincronizados primeiro. Verifique os registros do servidor da Web para entradas de registro semelhantes a:
GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp
ouGCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp
. Se você encontrar esses erros, verifique se os arquivos mencionados nas mensagens de erro ainda estão presentes no bucket do ambiente.Em caso de remoção acidental (por exemplo, porque uma política de retenção foi configurada), é possível restaurá-los:
Defina uma nova variável de ambiente no seu ambiente. Você pode usar qualquer nome e valor de variável.
Substitua uma opção de configuração do Airflow. Você pode usar uma opção de configuração do Airflow que não existe.
Passar o cursor sobre a instância da tarefa na visualização em árvore gera um TypeError não capturado
No Airflow 2, a visualização em árvore na interface do Airflow às vezes não funciona corretamente quando um fuso horário não padrão é usado. Como solução alternativa para esse problema, configure o fuso horário explicitamente na interface do Airflow.
Pastas vazias no programador e nos workers
O Cloud Composer não remove ativamente pastas vazias dos workers e programadores do Airflow. Essas entidades podem ser criadas como resultado do processo de sincronização do bucket de ambiente quando essas pastas existiam no bucket e foram removidas.
Recomendação: ajuste os DAGs para que eles estejam preparados para ignorar essas pastas vazias.
Essas entidades são removidas dos armazenamentos locais de programadores e workers do Airflow quando esses componentes são reiniciados (por exemplo, como resultado de operações de redução ou manutenção no cluster do ambiente).
Suporte para Kerberos
O Cloud Composer não é compatível com a configuração do Kerberos do Airflow.
Suporte para classes de computação no Cloud Composer 2 e no Cloud Composer 3
O Cloud Composer 3 e o Cloud Composer 2 são compatíveis apenas com a classe de computação de uso geral. Isso significa que não é possível executar pods que solicitam outras classes de computação, como Balanced ou Scale-Out.
A classe de uso geral permite executar pods que solicitam até 110 GB de memória e até 30 CPUs, conforme descrito em Solicitações máximas de classe de computação.
Se você quiser usar uma arquitetura baseada em ARM ou precisar de mais CPU e memória, use uma classe de computação diferente, que não é compatível com clusters do Cloud Composer 3 e do Cloud Composer 2.
Recomendação: use GKEStartPodOperator
para executar pods do Kubernetes em
um cluster diferente que seja compatível com a classe de computação selecionada. Se você
executar pods personalizados que exigem uma classe de computação diferente, eles também precisarão ser executados
em um cluster que não seja do Cloud Composer.
Não é possível reduzir o armazenamento do Cloud SQL
O Cloud Composer usa o Cloud SQL para executar o banco de dados do Airflow. Com o tempo, o armazenamento em disco da instância do Cloud SQL pode aumentar porque o disco é escalonado para se ajustar aos dados armazenados pelas operações do Cloud SQL quando o banco de dados do Airflow cresce.
Não é possível reduzir o tamanho do disco do Cloud SQL.
Como alternativa, se você quiser usar o menor tamanho de disco do Cloud SQL, recrie os ambientes do Cloud Composer com snapshots.
A métrica de uso do disco do banco de dados não diminui após a remoção de registros do Cloud SQL
Os bancos de dados relacionais, como o Postgres ou o MySQL, não removem fisicamente as linhas quando elas são excluídas ou atualizadas. Em vez disso, ele os marca como "tuplas mortas" para manter a consistência dos dados e evitar o bloqueio de transações simultâneas.
O MySQL e o Postgres implementam mecanismos de recuperação de espaço após a exclusão de registros.
Embora seja possível forçar o banco de dados a recuperar espaço em disco não utilizado, essa é uma operação que consome muitos recursos e bloqueia o banco de dados, tornando o Cloud Composer indisponível. Portanto, é recomendável usar os mecanismos de build para recuperar o espaço não utilizado.
Acesso bloqueado: erro de autorização
Se esse problema afetar um usuário, a caixa de diálogo
Acesso bloqueado: erro de autorização vai conter a mensagem
Error 400: admin_policy_enforced
.
Se a opção Controles de API > Apps de terceiros não configurados > Não permitir o acesso de usuários a apps de terceiros estiver ativada no Google Workspace e o app Apache Airflow no Cloud Composer não estiver explicitamente permitido, os usuários não poderão acessar a interface do Airflow, a menos que permitam explicitamente o aplicativo.
Para permitir o acesso, siga as etapas em Permitir acesso à interface do Airflow no Google Workspace.
Loop de login ao acessar a interface do Airflow
Esse problema pode ter as seguintes causas:
Se as vinculações de acesso baseado no contexto do Chrome Enterprise Premium forem usadas com níveis de acesso que dependem de atributos do dispositivo, e o app Apache Airflow no Cloud Composer não for isento, não será possível acessar a interface do Airflow devido a um loop de login. Para permitir o acesso, siga as etapas em Permitir acesso à interface do Airflow em vinculações do Acesso baseado no contexto.
Se as regras de entrada estiverem configuradas em um perímetro do VPC Service Controls que protege o projeto, e a regra de entrada que permite o acesso ao serviço do Cloud Composer usar o tipo de identidade
ANY_SERVICE_ACCOUNT
ouANY_USER_ACCOUNT
, os usuários não poderão acessar a interface do Airflow, o que vai resultar em um loop de login. Para mais informações sobre como resolver esse cenário, consulte Permitir acesso à interface do Airflow nas regras de entrada do VPC Service Controls.
A pasta /data não está disponível no servidor da Web do Airflow
No Cloud Composer 2 e no Cloud Composer 3, o servidor da Web do Airflow é um componente principalmente somente leitura, e o Cloud Composer não sincroniza a pasta data/
com ele.
Às vezes, você pode querer compartilhar arquivos comuns entre todos os componentes do Airflow, incluindo o servidor da Web do Airflow.
Solução:
Encapsule os arquivos a serem compartilhados com o servidor da Web em um módulo PYPI e instale-o como um pacote PYPI comum. Depois que o módulo PYPI é instalado no ambiente, os arquivos são adicionados às imagens dos componentes do Airflow e ficam disponíveis para eles.
Adicione arquivos à pasta
plugins/
. Essa pasta é sincronizada com o servidor da Web do Airflow.
Diagramas de tempos de análise do DAG não contínuos e tamanho do pacote do DAG no monitoramento
Diagramas não contínuos de tempos de análise do DAG e tamanho do pacote de DAG no painel de monitoramento indicam problemas com tempos de análise longos (mais de 5 minutos).

Solução:Recomendamos manter o tempo total de análise do DAG abaixo de 5 minutos. Para reduzir o tempo de análise do DAG, siga as diretrizes de gravação de DAGs.
Os registros de tarefas aparecem com atrasos
Sintoma:
- No Cloud Composer 3, os registros de tarefas do Airflow não aparecem imediatamente e são atrasados por alguns minutos.
- Talvez você encontre mensagens
Logs not found for Cloud Logging filter
nos registros do Airflow.
Causa:
Se o ambiente executar um grande número de tarefas ao mesmo tempo, os registros de tarefas poderão ser atrasados porque o tamanho da infraestrutura do ambiente não é suficiente para processar todos os registros com rapidez suficiente.
Soluções:
- Considere aumentar o tamanho da infraestrutura do ambiente para melhorar a performance.
- Distribua as execuções de DAG ao longo do tempo para que as tarefas não sejam executadas ao mesmo tempo.
Aumento nos tempos de inicialização do KubernetesPodOperator e do KubernetesExecutor
Os pods criados com KubernetesPodOperator e as tarefas executadas com KubernetesExecutor têm tempos de inicialização maiores. A equipe do Cloud Composer está trabalhando em uma solução e vai anunciar quando o problema for resolvido.
Alternativas:
- Inicie pods com mais CPU.
- Se possível, otimize as imagens (menos camadas, tamanho menor).
O ambiente está no estado ERROR depois que a conta de faturamento do projeto foi excluída ou desativada, ou a API Cloud Composer foi desativada.
Os ambientes do Cloud Composer afetados por esses problemas não podem ser recuperados:
- Depois que a conta de faturamento do projeto foi excluída ou desativada, mesmo que outra conta tenha sido vinculada depois.
- Depois que a API Cloud Composer foi desativada no projeto, mesmo que tenha sido ativada depois.
Para resolver o problema, faça o seguinte:
Você ainda poderá acessar os dados armazenados nos buckets do ambiente, mas os ambientes em si não poderão mais ser usados. Você pode criar um novo ambiente do Cloud Composer e transferir seus DAGs e dados.
Se você quiser realizar alguma das operações que tornam seus ambientes irrecuperáveis, faça backup dos dados, por exemplo, criando um snapshot do ambiente. Assim, é possível criar outro ambiente e transferir os dados dele carregando esse snapshot.
Os registros das tarefas do Airflow não são coletados se [core]execute_tasks_new_python_interpreter estiver definido como "True"
O Cloud Composer não coleta registros de tarefas do Airflow se a opção de configuração do Airflow [core]execute_tasks_new_python_interpreter
estiver definida como True
.
Possível solução:
- Remova a substituição dessa opção de configuração ou defina o valor dela como
False
.
Erro ao remover o anexo de rede quando um ambiente é excluído
Se vários ambientes que compartilham o mesmo anexo de rede forem excluídos ao mesmo tempo, algumas operações de exclusão vão falhar com um erro.
Sintomas:
O seguinte erro é gerado:
Got error while removing Network Attachment: <error code>
O código de erro informado pode ser Bad request: <resource> is not ready
ou
Precondition failed: Invalid fingerprint
.
Possíveis soluções alternativas:
Exclua os ambientes que usam o mesmo anexo de rede um por um.
Desative a conexão com uma rede VPC dos seus ambientes antes de excluí-los. Recomendamos essa solução alternativa para exclusão automatizada de ambientes.
A seguir
- Como resolver problemas da criação de ambientes
- Como resolver problemas de DAGs
- Como solucionar problemas do Airflow Scheduler