Le 15 septembre 2026, tous les environnements Cloud Composer 1 et Cloud Composer 2 version 2.0.x atteindront leur fin de vie prévue et vous ne pourrez plus les utiliser. Nous vous recommandons de planifier la migration vers Cloud Composer 3.
Cloud Composer synchronise des dossiers spécifiques du bucket de votre environnement avec les composants Airflow qui s'exécutent dans votre environnement. Pour en savoir plus, consultez Données stockées dans Cloud Storage. Cette page décrit les problèmes qui peuvent perturber le processus de synchronisation et comment les résoudre.
Problèmes courants
Les sections suivantes décrivent les symptômes et les correctifs potentiels de certains problèmes courants de synchronisation de fichiers.
Gérer un grand nombre de DAG et de plug-ins dans les dossiers "dags" et "plugins"
Le contenu des dossiers /dags et /plugins est synchronisé depuis le bucket de votre environnement vers les systèmes de fichiers locaux des nœuds de calcul et des programmeurs Airflow.
Plus ces dossiers contiennent de données, plus la synchronisation prend du temps. Pour résoudre ce type de problème :
Limitez le nombre de fichiers dans les dossiers /dags et /plugins. Ne stockez que le minimum de fichiers requis.
Augmentez l'espace disque disponible pour les programmeurs et les nœuds de calcul Airflow.
Augmentez le processeur et la mémoire des programmeurs et des nœuds de calcul Airflow pour que l'opération de synchronisation soit effectuée plus rapidement.
Si le nombre de DAG est très élevé, divisez-les en lots, compressez-les dans des archives zip et déployez ces archives dans le dossier /dags.
Cette approche accélère le processus de synchronisation des DAG. Les composants Airflow extraient les archives ZIP avant de traiter les DAG.
La génération de DAG de manière programmatique peut également être une méthode permettant de limiter le nombre de fichiers DAG stockés dans le dossier /dags.
Consultez la section DAG programmatiques sur la page Dépannage des DAG pour éviter les problèmes de planification et d'exécution des DAG générés de manière programmatique.
Antimodes ayant un impact sur la synchronisation des DAG et des plug-ins avec les programmeurs, les nœuds de calcul et les serveurs Web
Cloud Composer synchronise le contenu des dossiers /dags et /plugins avec les planificateurs et les nœuds de calcul. Certains objets des dossiers /dags et /plugins peuvent empêcher cette synchronisation de fonctionner correctement ou la ralentir.
Le dossier /dags est synchronisé avec les programmeurs et les nœuds de calcul.
Ce dossier n'est pas synchronisé avec le serveur Web.
Le dossier /plugins est synchronisé avec les programmeurs, les nœuds de calcul et les serveurs Web.
Vous pouvez rencontrer les problèmes suivants :
Vous avez importé des fichiers compressés au format gzip qui utilisent le [transcodage de compression][storage-transcoding] dans les dossiers /dags et /plugins. Cela se produit généralement si vous utilisez l'indicateur --gzip-local-all dans une commande gcloud storage cp pour importer des données dans le bucket.
Solution : Supprimez l'objet qui a utilisé le transcodage de compression, puis importez-le de nouveau dans le bucket.
L'un des objets est nommé ".". Un tel objet n'est pas synchronisé avec les planificateurs et les nœuds de calcul, et il peut cesser d'être synchronisé.
Solution : Renommez l'objet.
Un dossier et un fichier Python DAG portent le même nom, par exemple a.py.
Dans ce cas, le fichier DAG n'est pas correctement synchronisé avec les composants Airflow.
Solution : Supprimez le dossier qui porte le même nom que le fichier Python du DAG.
L'un des objets des dossiers /dags ou /plugins contient un symbole / à la fin de son nom. Ces objets peuvent interférer avec le processus de synchronisation, car le symbole / signifie qu'un objet est un dossier et non un fichier.
Solution : Supprimez le symbole / du nom de l'objet problématique.
Ne stockez pas de fichiers inutiles dans les dossiers /dags et /plugins.
Parfois, les DAG et les plug-ins que vous implémentez sont fournis avec des fichiers supplémentaires, tels que des fichiers stockant les tests de ces composants. Ces fichiers sont synchronisés avec les nœuds de calcul et les planificateurs, et ont un impact sur le temps nécessaire pour les copier sur les planificateurs, les nœuds de calcul et les serveurs Web.
Solution : Ne stockez aucun fichier supplémentaire et inutile dans les dossiers /dags et /plugins.
L'erreur "Done [Errno 21] Is a directory: '/home/airflow/gcs/dags/...'" est générée par les programmeurs et les nœuds de calcul.
Ce problème se produit, car les objets peuvent avoir un espace de noms qui se chevauche dans Cloud Storage, tandis que les planificateurs et les workers utilisent des systèmes de fichiers Linux conventionnels. Par exemple, il est possible d'ajouter à la fois un dossier et un objet portant le même nom au bucket d'un environnement. Cette erreur est générée lorsque le bucket est synchronisé avec les planificateurs et les nœuds de calcul de l'environnement, ce qui peut entraîner l'échec des tâches.
Pour résoudre ce problème, assurez-vous qu'il n'y a pas d'espaces de noms qui se chevauchent dans le bucket de l'environnement. Par exemple, si /dags/misc (un fichier) et /dags/misc/example_file.txt (un autre fichier) se trouvent dans un bucket, une erreur est générée par le planificateur.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/26 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/26 (UTC)."],[],[],null,["# Troubleshooting file synchronization issues\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n[Cloud Composer 3](/composer/docs/composer-3/troubleshooting-cloud-storage \"View this page for Cloud Composer 3\") \\| **Cloud Composer 2** \\| Cloud Composer 1\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nCloud Composer synchronizes specific folders in your environment's bucket to Airflow components that run in your environment. See [Data stored in Cloud Storage](/composer/docs/composer-2/cloud-storage) for more information. This page refers to issues that could disrupt the synchronization process and how to troubleshoot them.\n\nCommon Issues\n-------------\n\nThe following sections describe symptoms and potential fixes for some common file synchronization issues.\n\n### Handling a large number of DAGs and plugins in dags and plugins folders\n\nContents of `/dags` and `/plugins` folders are synchronized from\nyour environment's bucket to local file systems of Airflow workers and\nschedulers.\n\nThe more data stored in these folders, the longer it takes to perform the\nsynchronization. To address such situations:\n\n- Limit the number of files in `/dags` and `/plugins` folders. Store only the\n minimum of required files.\n\n- Increase the disk space available to Airflow schedulers and workers.\n\n- Increase CPU and memory of Airflow schedulers and workers, so\n that the sync operation is performed faster.\n\n- In case of a very large number of DAGs, divide DAGs into batches, compress\n them into zip archives and deploy these archives into the `/dags` folder.\n This approach speeds up the DAGs syncing process. Airflow components\n extract zip archives before processing DAGs.\n\n- Generating DAGs in a programmatic way might also be a method for limiting\n the number of DAG files stored in the `/dags` folder.\n See the **Programmatic DAGs** section in the [DAGs Troubleshooting page](/composer/docs/composer-2/troubleshooting-dags#programmatic-dags) to avoid\n problems with scheduling and executing DAGs generated programmatically.\n\n### Anti-patterns impacting DAGs and plugins syncing to schedulers, workers and web servers\n\nCloud Composer synchronizes the content of `/dags` and `/plugins`\nfolders to schedulers and workers. Certain objects in `/dags` and `/plugins`\nfolders might prevent this synchronization to work correctly or slow it down.\n\n- The `/dags` folder is synchronized to schedulers and workers.\n\n\n This folder is not synchronized to the web server.\n- The `/plugins` folder is synchronized to schedulers, workers and web servers.\n\nYou might encounter the following issues:\n\n- You uploaded gzip-compressed files that use\n \\[compression transcoding\\]\\[storage-transcoding\\] to `/dags` and `/plugins`\n folders. It usually happens if you use the `--gzip-local-all` flag in a\n `gcloud storage cp` command to upload data to the bucket.\n\n Solution: Delete the object that used compression transcoding and re-upload\n it to the bucket.\n- One of the objects is named '.'---such an object is not synchronized to\n schedulers and workers, and it might stop synchronizing at all.\n\n Solution: Rename the object.\n- A folder and a DAG Python file have the same names, for example `a.py`.\n In this case, the DAG file is not properly synchronized to Airflow\n components.\n\n Solution: Remove the folder that has the same name as the DAG Python file.\n- One of the objects in `/dags` or `/plugins` folders contains a `/` symbol\n at the end of the object's name. Such objects can interfere with the\n synchronization process because the `/` symbol means that an object is a\n folder, not a file.\n\n Solution: Remove the `/` symbol from the name of the problematic object.\n- Don't store unnecessary files in `/dags` and `/plugins` folders.\n\n Sometimes DAGs and plugins that you implement come with additional files,\n such as files that store tests for these components. These files are\n synchronized to workers and schedulers and impact the time needed to\n copy these files to schedulers, workers and web servers.\n\n Solution: Don't store any additional and unnecessary files in `/dags` and\n `/plugins` folders.\n\n### Done \\[Errno 21\\] Is a directory: '/home/airflow/gcs/dags/...' error is generated by schedulers and workers\n\nThis problem happens because objects can have\noverlapping namespace in Cloud Storage, while at the same time\nschedulers and workers use conventional linux file systems. For example, it is possible\nto add both a folder and an object with the same name to an environment's\nbucket. When the bucket is synced to the environment's schedulers and workers,\nthis error is generated, which can lead to task failures.\n\nTo fix this problem, make sure that there are no overlapping namespaces in the\nenvironment's bucket. For example, if both `/dags/misc` (a file) and\n`/dags/misc/example_file.txt` (another file) are in a bucket, an error is\ngenerated by the scheduler.\n\nWhat's next\n-----------\n\n- [Troubleshooting DAG Processor issues](/composer/docs/composer-2/troubleshooting-dag-processor#inspect-dag-processor-logs)\n- [Troubleshooting Airflow scheduler issues](/composer/docs/composer-2/troubleshooting-scheduling)\n- [Troubleshooting DAGs](/composer/docs/composer-2/troubleshooting-dags)"]]