Outlier detection: unset `failure_percent_ejection` results in 100% instead of 0%
Les mainteneurs répondent en général sous 1 jour
@ahmadmaaz y travaille déjà.
Depuis le 6/11/2026.
Évaluation
- Difficulté
- 1/5
- Temps estimé
- Moins d'une heure
- Accessibilité débutants
- 88/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- java
- Domaine
- backend-api-design
Piste de recherche
Lisez xds/src/main/java/io/grpc/xds/EnvoyServerProtoData.java autour de la gestion du pourcentage d’échecs, puis comparez le comportement en l’absence de valeur avec celui de la gestion du taux de réussite qui précède et avec la spécification A50 liée dans l’issue. Mettez à jour la valeur par défaut du pourcentage d’échecs pour qu’elle corresponde à la spécification, et vérifiez qu’une valeur non définie désactive l’éviction selon le pourcentage d’échecs, tandis que les valeurs explicites conservent leur comportement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
success_rate_ejection.enforcement_percentage defaults to 100% per Envoy and our spec:
This is implemented (correctly) here:
But failure_percent_ejection should default to zero instead (i.e. disable checking when unset):
This is implemented (incorrectly) here:
Note that it's a copy/paste of the enforcement_percentage above it, meaning it is only disabled if it is explicitly set to zero.
When we go to actually build the enforcer, failurePercentage is non-null:
But enforcement percentage is null, so the default percentage of 100 is applied:
The fix appears to be trivial. In EnvoyServerProtoData.java, change the check to:
if (!envoyOutlierDetection.hasEnforcingFailurePercentage()
|| envoyOutlierDetection.getEnforcingFailurePercentage().getValue() == 0) {
failurePercentageEjection = null;
} else {
// ...
- Langage dominant
- Java
- Étoiles
- 12.1k
- Forks
- 4k
- Merge moyen
- 2 j 3 h
- PR mergées (30 j)
- 41
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de grpc/grpc-java
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
alts: AuthorizationUtil.clientAuthorizationCheck compares the peer service account case-sensitivelyPeut-être pris @hidingmyname l’a pris il y a 3 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
grpc/grpc-java#13156 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Binary log config: `-service/*` exclusion is accepted and silently turned into a per-service rule, so the service is still loggedPeut-être pris @hidingmyname l’a pris il y a 3 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
grpc/grpc-java#13155 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
SpiffeUtil.loadTrustBundleFromFile accepts invalid trust domain names (e.g. `UPPER.example.com`, `invalid#character`) as bundle map keysPeut-être pris @hidingmyname l’a pris il y a 3 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
grpc/grpc-java#13154 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
xds: EDS resource is not NACKed when locality weights at one priority sum to more than uint32 maxPeut-être pris @hidingmyname l’a pris il y a 3 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
grpc/grpc-java#13153 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de grpc/grpc-java
Issues similaires
-
bug web-ui
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
jenkinsci/jenkins#27705 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
googleads/googleads-mobile-flutter#1541 ·
Les mainteneurs répondent en général sous 4 jours
-
Keyboard crashes Chrome tabsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Julow/Unexpected-Keyboard#1490 ·
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Vakore/ZappierGames#275 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
unitycatalog/unitycatalog#2148 ·
Les mainteneurs répondent en général sous 2 jours