Skip to content

perf(cfapi): amortissement retry hydratation placeholder (backoff, dédup Open, resume offset) #161

Description

@CCoupel

Issue de suivi — Phase 3 du plan de #160 (_work/reports/plan-20260812-102022.md), volontairement exclue du scope de #160 (Option A du GATE 2 : correctif ciblé au plugin MooseFS, cette phase devient une défense en profondeur séparée).

Contexte : #160 a identifié que chaque échec de lecture de chunk remonte jusqu'à faire échouer l'Open du placeholder CF API. Windows relance alors l'Open intégralement, sans backoff — le téléchargement repart de zéro. Une fois la cause racine de #160 corrigée (keepalive MooseFS mal géré), ce mécanisme de relance sans garde-fou reste un point de fragilité générique pour tout backend, pas seulement MooseFS, en cas d'erreur transitoire.

Tâches (détail dans le plan de #160, Phase 3, fichier internal/cfapi/) :

  • Borner et espacer les relances de téléchargement de placeholder (backoff + limite de tentatives par fichier)
  • Déduplication des Open concurrents sur un même chemin (un seul téléchargement en vol par fichier)
  • Ne pas repartir de l'offset 0 après un échec partiel (préserver la progression d'hydratation)

Risque si inclus dans #160 : modifie le chemin d'hydratation commun à tous les backends (WebDAV, Local, MooseFS), donc risque de régression plus large que le scope de #160.


Note : voir aussi #162 (perte de données silencieuse dans internal/placeholder, sujet apparenté mais distinct — chemin cfapi ici, chemin FUSE/placeholder là-bas).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions