Red Hat Bugzilla – Bug 879639
Monitoring : process availability gives wrong status (SIGAR)
Last modified: 2014-01-02 15:37:54 EST
+++ This bug was initially created as a clone of Bug #879583 +++
Description of problem:
When monitoring a process, status update may be wrong for an arbitrary number of availability checks.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Start a test process on an monitored machine (e.g. LibreOffice)
2.For the monitored machine, import a new child resource in RHQ with type process (e.g. with PIQL process|basename|match=^soffice.*)
3.When the process availability shown is "UP", close/kill the test process
The availability status is still "UP" for a time longer than the availability check interval.
The availability status should be "DOWN" as soon as the availability check interval has elapsed.
In the ProcessInfo class, the method isRunning uses the SIGAR class ProcState. If the process has been killed or shutdown, the instance of ProcState contains stale data.
--- Additional comment from Thomas SEGISMONT on 2012-11-23 14:30:39 CET ---
In ProcessComponent class, the ProcessInfo instance is refreshed each time a metric collection is made.
So after a metric collection, the next availability check has fresh data to process.
This could explain why, after some time, the closed/killed process is eventually reported "DOWN".
Fix applied on release/jon3.1.x branch:
34d2887 (cherry-picked from 5c4217e)
ea84700 (cherry-picked from 2ec8d54)
As this is MODIFIED or ON_QA, setting milestone to ER1.
1. started libre office process
2. changed availability collection from schedules (33 secs)
3. stopped office process
4. in 33 secs office process moved to not-available state
Created attachment 805134 [details]
Created attachment 805135 [details]