Cache low effectivity calculation improvement
Openfire uses various caches. The admin console displays a warning when the cache isn't very effective (hinting that reconfiguration is needed.
The current formula to determine if a cache is ineffective, combines these three parts (which all must be true):
amount of successful cache lookups is more than 500
percentage of successful cache lookups is less than 85%
the amount of unused capacity in the case is 20% or less
The first condition is likely introduced with the intention to avoid having caches marked as 'ineffective' when they're hardly used (or when the system just started). However, this causes the cache to not be marked 'ineffective' in a scenario where it has many, many lookups, but none of them successful (which clearly is an ineffective cache).
The first part of the formula should be based on all lookups, not just on the successful ones.