[collectd] Do not receive OKAY notification on missing values.

Andrés J. Díaz ajdiaz at connectical.com
Wed Jul 1 12:19:39 CEST 2009


Finally I've applied the patch from collectd-4.7 branch and tested for
a couple of days. The patch works for me, now I'm using the
collectd-4.7 branch code in production environment and notifications
works as expected.

Thanks for all again!!


2009/6/26 Andrés J. Díaz <ajdiaz at connectical.com>:
> Hi Florian (et al)
> I cannot found the patch applied in the repository, I clone
> collectd-4.7 branch and still missing OKAY notifications, also in git
> log do not appear any reference to this bug.. I'm not really a git
> gooro,  I'm doing a git clone + git checkout to get the branch...
> :(
> Regards,
>  Andres
> 2009/6/20 Florian Forster <octo at verplant.org>:
>> Hi Andrés,
>> On Thu, Jun 04, 2009 at 10:13:36PM +0200, Andrés J. Díaz wrote:
>>> Reading the code, I found that the OKAY notification behaviour is
>>> defined in utils_cache.c, but do not work for me :(
>>> I attach a workarround which check if c_avl_get fails before
>>> ut_check_interesting call, but I'm not sure if it's the best solution.
>> I don't think that's a work around but rather a full-grown bugfix ;) The
>> variable `ce' is used in the loop checking for timed out values. After
>> then, when the timed out values are handled (this needs to be done in
>> two steps because mixing the `iterator' with `remove' is not supported)
>> no `get' is called and the state of the last entry (a random entry,
>> probably) is updated over and over again.
>> I've applied your fix in a slightly modified way to the collectd-4.6
>> branch and merged it to the collectd-4.7 branch. Could you give it a try
>> and let me know if it works for you? I'd then pack new releases.
>>> This patch works because I think that the problem is the
>>> ut_check_interesting function, which return "uninteresting" for any
>>> missing value, because the threshold_get function fails due to the
>>> c_avl_get return non zero.
>> No, I don't think the `ut_check_interesting' function is a problem: It
>> looks for matching thresholds and returns a values based on that. For
>> this, is doesn't need any actual values, just their names. So it doesn't
>> ``know'' if a value is missing or not and doesn't care ;)
>> Many thanks for all your threshold related patches :)
>> Regards,
>> -octo
>> --
>> Florian octo Forster
>> Hacker in training
>> GnuPG: 0x91523C3D
>> http://verplant.org/
>> Version: GnuPG v1.4.6 (GNU/Linux)
>> iD8DBQFKPMEeHdggu3Q05IYRAjvfAJ9XDhs0UlSVwfnDIhgHE9qLii3h7gCfR5Pk
>> LgFNJxyBNJ57EbVJnE+Ncf4=
>> =rJQ/
>> -----END PGP SIGNATURE-----

More information about the collectd mailing list