Re: Bug#657877: collectd: Does not try to reconnect when rrd daemon dies

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bug#657877: collectd: Does not try to reconnect when rrd daemon dies

Sebastian Harl-2
Hi,

On Sun, Jan 29, 2012 at 04:20:14PM +0100, Matthias Urlichs wrote:
> When collectd logs via rrdcached, and rrdcached is restarted,
> collectd spews errors instead of trying to reconnect.

Thanks for reporting this and sorry for the slow reply :-/

This issue is related to how the rrdcached client library works. It only
supports a single connection and caches that in a global variable.
collectd calls rrdc_connect on each write but the function will simple
return success if it succeeded previously.

I think what we'll have to do is
(a) in collectd, close the connection on error and, thus, trigger an
    actual reconnect; possibly use exponential back-off
(b) improve the RRDtool API ;-)

Cheers,
Sebastian

--
Sebastian "tokkee" Harl +++ GnuPG-ID: 0x2F1FFCC7 +++ http://tokkee.org/

Those who would give up Essential Liberty to purchase a little Temporary
Safety, deserve neither Liberty nor Safety.         -- Benjamin Franklin


_______________________________________________
rrd-developers mailing list
[hidden email]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bug#657877: collectd: Does not try to reconnect when rrd daemon dies

Sebastian Harl-2
Hi,

On Thu, Aug 20, 2015 at 11:40:13AM +0200, Sebastian Harl wrote:

> On Sun, Jan 29, 2012 at 04:20:14PM +0100, Matthias Urlichs wrote:
> > When collectd logs via rrdcached, and rrdcached is restarted,
> > collectd spews errors instead of trying to reconnect.
>
> Thanks for reporting this and sorry for the slow reply :-/
>
> This issue is related to how the rrdcached client library works. It only
> supports a single connection and caches that in a global variable.
> collectd calls rrdc_connect on each write but the function will simple
> return success if it succeeded previously.
>
> I think what we'll have to do is
> (a) in collectd, close the connection on error and, thus, trigger an
>     actual reconnect; possibly use exponential back-off
I've got https://github.com/collectd/collectd/pull/1959 pending for
this.

> (b) improve the RRDtool API ;-)

And https://github.com/oetiker/rrdtool-1.x/pull/742 for this.

Cheers,
Sebastian

--
Sebastian "tokkee" Harl +++ GnuPG-ID: 0x2F1FFCC7 +++ http://tokkee.org/

Those who would give up Essential Liberty to purchase a little Temporary
Safety, deserve neither Liberty nor Safety.         -- Benjamin Franklin


_______________________________________________
rrd-developers mailing list
[hidden email]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers

signature.asc (853 bytes) Download Attachment
Loading...