Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
The tolerance counter which determines whether a state change should actually be honored is not properly being reset when non-consecutive EVICTION or CRITICAL events are received. The purpose of this counter is to tolerate a configurable number of consecutive "bad readings" of used bytes from the JVM, and was originally introduced for JRockit. However, it has been observed that bad readings are also possible in certain versions of Oracle JVM and possibly others.
When the HeapMemoryMonitor was last refactored, a regression was introduced where the tolerance counter was not reset between non-consecutive EVICTION or CRITICAL events. This could cause an erroneous change of state if several non-consecutive events were received over some period of time.
Attachments
Issue Links
- links to