Outlier detection can eject one too many endpoints

Offen Anfängerfreundlich
#13,164 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
82/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
grpc, java

Rechercherichtung

Lies util/src/main/java/io/grpc/util/OutlierDetectionLoadBalancer.java, insbesondere die beiden im Issue verlinkten Stellen (ungefähr Zeilen 828–833 und 901–909). Prüfe, wie jede Stelle den Auswurfprozentsatz berechnet und wie das Auswurflimit angewendet wird. Die Aufgabe ist abgeschlossen, wenn beide Pfade den Prozentsatz nach einem hypothetischen Auswurf berücksichtigen, sodass der Auswurf das konfigurierte Maximum nicht überschreiten kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

With https://github.com/grpc/proposal/pull/574, A50 was updated to match the proper Envoy behavior:

Ejection never takes the ejected percentage above this value, so a value of 0 disables ejection.

Java does allow an ejection to take us over the configured percentage.

https://github.com/grpc/grpc-java/blob/4483d920e85fbdecf890b1fb5890aef6599159f2/util/src/main/java/io/grpc/util/OutlierDetectionLoadBalancer.java#L828-L833

and

https://github.com/grpc/grpc-java/blob/4483d920e85fbdecf890b1fb5890aef6599159f2/util/src/main/java/io/grpc/util/OutlierDetectionLoadBalancer.java#L901-L909

These both should change to consider the percentage after a hypothetical ejection was to occur. E.g. rework ejectionPercentage to something like nextEjectionPercentage instead.

Vorherrschende Sprache
Java
Sterne
12.1k
Forks
4k
Ø Merge
1 T. 20 Std.
Gemergte PRs (30 T.)
43

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus grpc/grpc-java

Alle Issues in grpc/grpc-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.