Anomalie #16513
open[Versement ] Trop de fichiers ouverts lors du traitement des transferts
Description
Lorsque le service de traitement des bordereaux de transfert prend en charge un nombre important de ressources à déposer (beaucoup de bordereaux ou un bordereau avec beaucoup de fichiers joints), le processus se termine en erreur, indiquant que le nombre maximum de fichiers ouverts simultanément a été atteint.
Ce problème existe depuis que les échanges de données utilisent des pointeurs de fichier au lieu d'un chargement en mémoire.
Par défaut, la imite du nombre de fichiers ouverts simultanément (par fopen) par un processus est de 1024.
Il faut déjà donc prendre en compte cette limitation pour les lots importants en augmentant la limite système : https://www.tecmint.com/increase-set-open-file-limits-in-linux/
Nous devons aussi vérifier que les fichiers ouverts pour un bordereau sont fermés après traitement de celui-ci.
Le processus est le suivant:
- medona/archiveTransfer::processBatch()
pour chaque bordereau- appelle process()
- medona/archiveTransfer::process()
pour chaque bordereau- appelle le contrôleur d'empaquetage associé au schéma (SEDA2 par exemple) qui retourne un tableau d'archives (et leurs pointeurs de ressource) et un tableau de relations
- boucle sur les archives pour réaliser le dépôt
- boucle sur les relations pour les déclarer
Il faut vérifier que les pointeurs vers les ressources des archives soient fermés après dépôt.
Updated by Cyril VAZQUEZ over 3 years ago
- Subject changed from [Versement ]Le traitement des transferts par lot ne ferme pas les fichiers to [Versement ] Trop de fichiers ouverts lors du traitement des transferts
Updated by Arnaud PAUGET over 3 years ago
- Status changed from A traiter to En cours
Updated by Arnaud PAUGET over 3 years ago
- Status changed from En cours to En observation
Updated by Cyril VAZQUEZ over 3 years ago
- Status changed from En observation to A traiter
Updated by Emmanuel DILLARD over 3 years ago
- Project changed from 252 to Backlog RM
- Target version changed from 2.7 to 2.7
- Fonction deleted (
Versement) - Extension/Module deleted (
MEDONA)
Updated by Emmanuel DILLARD over 3 years ago
- Status changed from A traiter to R&D - A étudier
Updated by Emmanuel DILLARD over 3 years ago
- Assignee set to Cyril VAZQUEZ
- Priority changed from 1-Majeur to 2-Sérieux
Updated by Cyril VAZQUEZ about 2 years ago
- Target version changed from 2.7 to 2.9.1
Updated by Cyril VAZQUEZ about 2 years ago
- Target version changed from 2.9.1 to 2.9.2
Updated by Cyril VAZQUEZ about 2 years ago
- Target version changed from 2.9.2 to 2.9.3
Updated by Cyril VAZQUEZ almost 2 years ago
- Target version changed from 2.9.3 to 2.9