EsupPortail / Esup-Pod

plateforme de gestion de fichier vidéo
https://pod.esup-portail.org/
GNU Lesser General Public License v3.0
36 stars 77 forks source link

[BUG] Thumbnail store files - Lock file NFS distant mount disk Summer #1059

Open pampletousse opened 8 months ago

pampletousse commented 8 months ago

Description :

Lors de l'encodage d'une vidéo, celle-ci se stoppe à l'étape "3 : store encoding info" et reste en encodage en cours. Les logs d'encodage ne donnent pas d'erreurs d'encodage et les logs applicatifs ne semblent pas donner non plus d'erreurs particulières.

Raison :

L'utilisation d'une partie de la fonction store_json_list_thumbnail_files dans le fichier pod/video_encode_transcript/Encoding_video_model.py concernant l'écriture des fichiers de vignettes semble lock le fichier utilisé et bloquer le processus. L'erreur se situe probablement autour de cette instruction :

thumbnail.file.save(
    "%s_%s.png" % (video.slug, thumbnail_path),
    File(open(list_thumbnail_files[thumbnail_path], "rb")),
    save=True,
)

Ce bug semble être uniquement relatif à l'utilisation d'un point de montage vers un dossier distant hébergé chez Summer, paramétré en NFS version 3.

Quick fix :

Modification du fichier /lib/python3.9/site-packages/django/core/files/locks.py Changer les deux derniers "returns" comme ceci (Attention aux indentations) :

def lock(f, flags):
    return False

def unlock(f):
    return True