perf: avoid creating exceptions when no hook implements the error stage

Ouverte
#2,056 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@toddbaert y travaille déjà.

Depuis le 8/10/2026.

  • #2057 par @toddbaert — ouverte

Évaluation

Cette issue n'a pas encore été évaluée.

Description

enhancement

When no provider is set (or the provider is NOT_READY/FATAL), evaluateFlag throws an exception internally to reach its catch block. Similarly, for provider-returned errors, we create an exception to pass to error hooks, even if no hook implements error.

The ProviderNotReadyError stack trace is suppressed, but APM agents that instrument exceptions can still capture their own, which adds overhead to every evaluation.

Proposal:

  • don't throw for NOT_READY/FATAL; build the error details directly
  • only create the exception if an attached hook actually overrides error (detected once per hook class)

Results (callers see the same errorCode, reason and value) are unchanged. If any attached hook implements error, all hooks' error stages run as before.

Langage dominant
Java
Étoiles
129
Forks
62
Merge moyen
6 h 37 min
PR mergées (30 j)
12

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de open-feature/java-sdk

Toutes les issues de open-feature/java-sdk

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.