Workaround Sigar getProcState bug

Thomas Segismont tsegismo at redhat.com
Fri Feb 1 16:13:56 UTC 2013


Hi all,

After reading the Sigar C code, I eventually found why consecutive calls 
to getProcState could return different values. You'll find the details 
on the VMWare forum[1]. In a few words, Sigar caches return values for 2 
seconds but the cache is not purged if the process has died.

I am now pretty sure that we don't need to observe a two seconds 
interval between calls to refresh. We only need to serialize calls to 
refresh and stop calling Sigar if the process has already been reported 
down.

I have made a changeset[2] for this in a topic branch. Apache 
integration tests pass (I initially had found problem running these) and 
rhq-probe job is currently running.

Please reply if you have any comment.

Regards,
Thomas

[1] http://communities.vmware.com/message/2187972#2187972

[2] 
http://git.fedorahosted.org/cgit/rhq/rhq.git/commit/?h=tsegismont%2FProcessInfoWithCache&context=5&ignorews=0&ss=0


More information about the rhq-devel mailing list