Skip to content

Commit ca9f829

Browse files
committed
Simplify and micro-optimize
1 parent c1c8d1d commit ca9f829

1 file changed

Lines changed: 4 additions & 7 deletions

File tree

util/src/main/java/io/grpc/util/OutlierDetectionLoadBalancer.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -569,12 +569,8 @@ long inactiveVolume() {
569569
return inactiveCallCounter.successCount.get() + inactiveCallCounter.failureCount.get();
570570
}
571571

572-
long inactiveSuccessCount() {
573-
return inactiveCallCounter.successCount.get();
574-
}
575-
576572
double successRate() {
577-
return ((double) inactiveSuccessCount()) / inactiveVolume();
573+
return ((double) inactiveCallCounter.successCount.get()) / inactiveVolume();
578574
}
579575

580576
double failureRate() {
@@ -835,12 +831,13 @@ public void ejectOutliers(EndpointTrackerMap trackerMap, long ejectionTimeNanos)
835831
}
836832

837833
// If success rate is below the threshold or is zero, eject the address.
838-
if (tracker.successRate() < requiredSuccessRate || tracker.inactiveSuccessCount() == 0L) {
834+
double successRate = tracker.successRate();
835+
if (successRate < requiredSuccessRate || successRate == 0.0) {
839836
logger.log(ChannelLogLevel.DEBUG,
840837
"SuccessRate algorithm detected outlier: {0}. "
841838
+ "Parameters: successRate={1}, mean={2}, stdev={3}, "
842839
+ "requiredSuccessRate={4}",
843-
tracker, tracker.successRate(), mean, stdev, requiredSuccessRate);
840+
tracker, successRate, mean, stdev, requiredSuccessRate);
844841
// Only eject some endpoints based on the enforcement percentage.
845842
if (new Random().nextInt(100) < config.successRateEjection.enforcementPercentage) {
846843
tracker.ejectSubchannels(ejectionTimeNanos);

0 commit comments

Comments
 (0)