Skip to content

Commit 2b9775d

Browse files
izeyesnicoll
authored andcommitted
Fix EhCache hit/miss ratio
The hitRatio is the ratio of two windowed rates that are calculated independently. They are not updated or read transactionally, hence the ratio of the two can drift slightly from what might be expected. We now make sure that the hit or miss ratio can't be higher than 1 Closes gh-3235
1 parent bbb27cf commit 2b9775d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cache/EhCacheStatisticsProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ public CacheStatistics getCacheStatistics(CacheManager cacheManager,
3737
statistics.setSize(ehCacheStatistics.getSize());
3838
Double hitRatio = ehCacheStatistics.cacheHitRatio();
3939
if (!hitRatio.isNaN()) {
40-
statistics.setHitRatio(hitRatio);
41-
statistics.setMissRatio(1 - hitRatio);
40+
statistics.setHitRatio(hitRatio > 1 ? 1 : hitRatio);
41+
statistics.setMissRatio(hitRatio > 1 ? 0 : 1 - hitRatio);
4242
}
4343
return statistics;
4444
}

0 commit comments

Comments
 (0)