Problemi noti

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina elenca i problemi noti di Cloud Composer. Per informazioni sulle correzioni dei problemi, consulta le note di rilascio.

La prima esecuzione di DAG per un file DAG caricato presenta diverse attività non riuscite

Quando carichi un file DAG, a volte le prime attività della prima esecuzione del DAG non vanno a buon fine e viene visualizzato l'errore Unable to read remote log.... Questo problema si verifica perché il file DAG viene sincronizzato tra il bucket dell'ambiente, i worker Airflow e gli scheduler Airflow dell'ambiente. Se lo scheduler riceve il file DAG e ne pianifica l'esecuzione da parte di un worker e se il worker non ha ancora il file DAG, l'esecuzione dell'attività non va a buon fine.

Per risolvere questo problema, gli ambienti con Airflow 2 sono configurati per eseguire due tentativi per un'attività non riuscita per impostazione predefinita. Se un'attività non riesce, viene ritentata due volte a intervalli di 5 minuti.

Cloud Composer non dovrebbe essere interessato dalla vulnerabilità di Apache Log4j 2 (CVE-2021-44228)

In risposta alla vulnerabilità di Apache Log4j 2 (CVE-2021-44228), Cloud Composer ha condotto un'indagine dettagliata e riteniamo che non sia vulnerabile a questo exploit.

A volte la UI di Airflow non ricarica un plug-in dopo la modifica

Se un plug-in è costituito da molti file che importano altri moduli, l'interfaccia utente di Airflow potrebbe non essere in grado di riconoscere il fatto che un plug-in deve essere ricaricato. In questo caso, riavvia il server web di Airflow del tuo ambiente.

Errore 504 durante l'accesso alla UI di Airflow

Puoi visualizzare l'errore 504 Gateway Timeout quando accedi all'interfaccia utente di Airflow. Questo errore può avere diverse cause:

  • Problema di comunicazione temporaneo. In questo caso, tenta di accedere all'interfaccia utente di Airflow in un secondo momento. Puoi anche riavviare il server web Airflow.

  • (Solo Cloud Composer 3) Problema di connettività. Se la UI di Airflow non è disponibile in modo permanente e vengono generati errori di timeout o 504, assicurati che il tuo ambiente possa accedere a *.composer.googleusercontent.com.

  • (Solo Cloud Composer 2) Problema di connettività. Se la UI di Airflow non è disponibile in modo permanente e vengono generati errori di timeout o 504, assicurati che il tuo ambiente possa accedere a *.composer.cloud.google.com. Se utilizzi l'accesso privato Google e invii traffico tramite IP virtuali private.googleapis.com o Controlli di servizio VPC e invii traffico tramite IP virtuali restricted.googleapis.com, assicurati che Cloud DNS sia configurato anche per i nomi di dominio *.composer.cloud.google.com.

  • Il server web Airflow non risponde. Se l'errore 504 persiste, ma riesci comunque ad accedere alla UI di Airflow in determinati momenti, il server web Airflow potrebbe non rispondere perché è sovraccarico. Prova ad aumentare i parametri di scalabilità e rendimento del server web.

Errore 502 durante l'accesso all'interfaccia utente di Airflow

L'errore 502 Internal server exception indica che l'interfaccia utente di Airflow non può gestire le richieste in entrata. Questo errore può avere diverse cause:

  • Problema di comunicazione temporaneo. Prova ad accedere all'interfaccia utente di Airflow in un secondo momento.

  • Impossibile avviare il server web. Per iniziare, è necessario sincronizzare prima i file di configurazione del server web. Controlla i log del server web per le voci di log simili a: GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp o GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp. Se visualizzi questi errori, controlla se i file menzionati nei messaggi di errore sono ancora presenti nel bucket dell'ambiente.

    In caso di rimozione accidentale (ad esempio perché è stata configurata una norma di conservazione), puoi ripristinarli:

    1. Imposta una nuova variabile di ambiente nel tuo ambiente. Puoi utilizzare qualsiasi nome e valore di variabile.

    2. Esegui l'override di un'opzione di configurazione di Airflow. Puoi utilizzare un'opzione di configurazione di Airflow inesistente.

Il passaggio del mouse sopra l'istanza dell'attività nella visualizzazione ad albero genera un errore TypeError non rilevato

In Airflow 2, la visualizzazione ad albero nella UI di Airflow a volte potrebbe non funzionare correttamente quando viene utilizzato un fuso orario non predefinito. Per risolvere questo problema, configura esplicitamente il fuso orario nell'interfaccia utente di Airflow.

Cartelle vuote in Scheduler e worker

Cloud Composer non rimuove attivamente le cartelle vuote dai worker e dagli scheduler di Airflow. Queste entità potrebbero essere create a seguito del processo di sincronizzazione del bucket dell'ambiente quando queste cartelle esistevano nel bucket e sono state rimosse.

Consiglio: modifica i DAG in modo che siano pronti a ignorare le cartelle vuote.

Queste entità vengono rimosse definitivamente dagli spazi di archiviazione locali degli scheduler e dei worker di Airflow quando questi componenti vengono riavviati (ad esempio, a seguito di operazioni di riduzione o manutenzione nel cluster del tuo ambiente).

Supporto di Kerberos

Cloud Composer non supporta la configurazione Kerberos di Airflow.

Supporto delle classi di calcolo in Cloud Composer 2 e Cloud Composer 3

Cloud Composer 3 e Cloud Composer 2 supportano solo la classe di calcolo per uso generico. Ciò significa che non è possibile eseguire pod che richiedono altre classi di calcolo (ad esempio Balanced o Scale-Out).

La classe per uso generico consente di eseguire pod che richiedono fino a 110 GB di memoria e fino a 30 CPU (come descritto in Richieste massime della classe di calcolo).

Se vuoi utilizzare un'architettura basata su ARM o hai bisogno di più CPU e memoria, devi utilizzare una classe di calcolo diversa, che non è supportata nei cluster Cloud Composer 3 e Cloud Composer 2.

Consiglio: utilizza GKEStartPodOperator per eseguire i pod Kubernetes su un cluster diverso che supporta la classe di calcolo selezionata. Se esegui pod personalizzati che richiedono una classe di calcolo diversa, devono essere eseguiti anche su un cluster non Cloud Composer.

Non è possibile ridurre lo spazio di archiviazione Cloud SQL

Cloud Composer utilizza Cloud SQL per eseguire il database Airflow. Nel tempo, lo spazio di archiviazione su disco per l'istanza Cloud SQL potrebbe aumentare perché il disco viene scalato per adattarsi ai dati archiviati dalle operazioni Cloud SQL quando il database Airflow aumenta.

Non è possibile ridurre le dimensioni del disco Cloud SQL.

Come soluzione alternativa, se vuoi utilizzare le dimensioni del disco Cloud SQL più piccole, puoi ricreare gli ambienti Cloud Composer con snapshot.

La metrica Utilizzo disco del database non diminuisce dopo la rimozione dei record da Cloud SQL

I database relazionali, come Postgres o MySQL, non rimuovono fisicamente le righe quando vengono eliminate o aggiornate. Li contrassegna invece come "tuple morte" per mantenere la coerenza dei dati ed evitare di bloccare le transazioni simultanee.

Sia MySQL che Postgres implementano meccanismi di recupero dello spazio dopo l'eliminazione dei record.

Sebbene sia possibile forzare il database a recuperare lo spazio su disco inutilizzato, questa è un'operazione che richiede molte risorse e blocca anche il database, rendendo Cloud Composer non disponibile. Pertanto, è consigliabile fare affidamento sui meccanismi di creazione per recuperare lo spazio inutilizzato.

Accesso bloccato: errore di autorizzazione

Se questo problema riguarda un utente, la finestra di dialogo Accesso bloccato: errore di autorizzazione contiene il messaggio Error 400: admin_policy_enforced.

Se l'opzione Controlli API > App di terze parti non configurate > Non consentire agli utenti di accedere alle app di terze parti è attivata in Google Workspace e l'app Apache Airflow in Cloud Composer non è esplicitamente consentita, gli utenti non possono accedere alla UI di Airflow a meno che non consentano esplicitamente l'applicazione.

Per consentire l'accesso, segui i passaggi descritti in Consentire l'accesso all'interfaccia utente di Airflow in Google Workspace.

Loop di accesso quando si accede all'UI di Airflow

Questo problema potrebbe essere dovuto a:

La cartella /data non è disponibile nel server web Airflow

In Cloud Composer 2 e Cloud Composer 3, il server web Airflow è un componente per lo più di sola lettura e Cloud Composer non sincronizza la cartella data/ con questo componente.

A volte, potresti voler condividere file comuni tra tutti i componenti di Airflow, incluso il server web Airflow.

Soluzione:

  • Inserisci i file da condividere con il server web in un modulo PYPI e installalo come un normale pacchetto PYPI. Dopo l'installazione del modulo PYPI nell'ambiente, i file vengono aggiunti alle immagini dei componenti di Airflow e sono disponibili.

  • Aggiungi file alla cartella plugins/. Questa cartella viene sincronizzata con il server web Airflow.

Diagrammi dei tempi di analisi DAG non continui e delle dimensioni del bag DAG nel monitoraggio

I grafici dei tempi di analisi DAG non continui e delle dimensioni del bag DAG nella dashboard di monitoraggio indicano problemi con tempi di analisi DAG lunghi (più di 5 minuti).

Grafici dei tempi di analisi DAG di Airflow e delle dimensioni del bag DAG che mostrano una serie di intervalli non continui
Figura 1. Grafici dei tempi di analisi DAG non continui e delle dimensioni del bag DAG (fai clic per ingrandire)

Soluzione: Ti consigliamo di mantenere il tempo totale di analisi del DAG al di sotto dei 5 minuti. Per ridurre il tempo di analisi del DAG, segui le linee guida per la scrittura dei DAG.

I log delle attività vengono visualizzati con ritardi

Sintomo:

  • In Cloud Composer 3, i log delle attività Airflow non vengono visualizzati immediatamente e vengono ritardati di alcuni minuti.
  • Nei log di Airflow potresti trovare messaggi Logs not found for Cloud Logging filter

Causa:

Se il tuo ambiente esegue un numero elevato di attività contemporaneamente, i log delle attività possono essere ritardati perché le dimensioni dell'infrastruttura dell'ambiente non sono sufficienti per elaborare tutti i log abbastanza velocemente.

Soluzioni:

  • Valuta la possibilità di aumentare le dimensioni dell'infrastruttura dell'ambiente per migliorare il rendimento.
  • Distribuisci le esecuzioni di DAG nel tempo, in modo che le attività non vengano eseguite contemporaneamente.

Tempi di avvio più lunghi per KubernetesPodOperator e KubernetesExecutor

I pod creati con KubernetesPodOperator e le attività eseguite con KubernetesExecutor hanno tempi di avvio più lunghi. Il team di Cloud Composer sta lavorando a una soluzione e comunicherà quando il problema sarà risolto.

Soluzioni:

  • Avvia i pod con più CPU.
  • Se possibile, ottimizza le immagini (meno livelli, dimensioni più piccole).

L'ambiente è in stato ERROR dopo l'eliminazione o la disattivazione dell'account di fatturazione del progetto oppure la disattivazione dell'API Cloud Composer

Gli ambienti Cloud Composer interessati da questi problemi non sono recuperabili:

  • Dopo l'eliminazione o la disattivazione dell'account di fatturazione del progetto, anche se un altro account è stato collegato in un secondo momento.
  • Dopo che l'API Cloud Composer è stata disabilitata nel progetto, anche se è stata abilitata in un secondo momento.

Per risolvere il problema, puoi:

  • Puoi comunque accedere ai dati archiviati nei bucket del tuo ambiente, ma gli ambienti stessi non sono più utilizzabili. Puoi creare un nuovo ambiente Cloud Composer e poi trasferire i tuoi DAG e i tuoi dati.

  • Se vuoi eseguire una delle operazioni che rendono i tuoi ambienti non recuperabili, assicurati di eseguire il backup dei dati, ad esempio creando uno snapshot dell'ambiente. In questo modo, puoi creare un altro ambiente e trasferire i relativi dati caricando questo snapshot.

I log delle attività Airflow non vengono raccolti se [core]execute_tasks_new_python_interpreter è impostato su True

Cloud Composer non raccoglie i log per le attività Airflow se l'opzione di configurazione di Airflow [core]execute_tasks_new_python_interpreter è impostata su True.

Possibile soluzione:

  • Rimuovi l'override per questa opzione di configurazione o imposta il relativo valore su False.

Errore durante la rimozione dell'allegato di rete quando viene eliminato un ambiente

Se vengono eliminati contemporaneamente più ambienti che condividono lo stesso collegamento di rete, alcune operazioni di eliminazione non vanno a buon fine e viene visualizzato un errore.

Sintomi:

Viene generato il seguente errore:

Got error while removing Network Attachment: <error code>

Il codice di errore segnalato può essere Bad request: <resource> is not ready o Precondition failed: Invalid fingerprint.

Possibili soluzioni alternative:

  • Elimina uno alla volta gli ambienti che utilizzano lo stesso collegamento di rete.

  • Disattiva la connessione a una rete VPC per i tuoi ambienti prima di eliminarli. Consigliamo questa soluzione alternativa per l'eliminazione automatica dell'ambiente.

Passaggi successivi