8000 [plateforme] Un lot expiré ou abandonné lance d'un coup tous ses appels aux registres · Issue #287 · arnakoff/api · GitHub
[go: up one dir, main page]

Skip to content

[plateforme] Un lot expiré ou abandonné lance d'un coup tous ses appels aux registres #287

Closed

Description

@EnO33

Partie de #20.

Constat

Point 4 de #281. cache.Get lance le chargement avec context.WithoutCancel sans vérifier que l'appelant attend encore (internal/platform/cache/cache.go:56-63). De son côté, collect démarre chaque recherche même quand le contexte est déjà terminé (internal/app/check.go:239).

Quand un lot dépasse son délai de 10 s, ou quand le client coupe la connexion, chaque élément restant rend la main aussitôt. La limite de 8 de CheckAll passe alors à l'élément suivant sans attendre : tous les appels RDAP, BODACC et SIRENE des éléments restants partent d'un coup et continuent jusqu'à 30 s. La limite ne borne donc plus la charge qu'un lot impose aux registres, contrairement à ce qu'annonce internal/app/check_all.go:13-15. Un 429 avec Retry-After peut ensuite bloquer l'hôte pour tous, pendant au plus 1 h.

À faire

  • cache.Get ne lance pas de chargement pour un appelant dont le contexte est terminé ; une réponse en cache reste servie.
  • collect ne lance aucune recherche quand le contexte est terminé : l'élément est rapporté avec ses registres indisponibles.

Liens

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    0