[rrd-developers] rrdcached protocol issue: clients don't reconnect

Thorsten von Eicken tve at voneicken.com
Fri Oct 30 06:20:53 CET 2009


I'm having problems with clients not reconnecting if I restart the 
rrdcached daemon. For example, collectd prints out the following type of 
error forever if I do a "service rrdcached restart" (using unix socket, 
but I believe same happens with TCP):

Oct 30 05:03:52 sketchy1-1b collectd[3551]: rrdcached plugin: 
rrdc_update (/rrds/.../memcached_command-set.rrd, 
[1256878677:2904863359], 1) failed with status -3.

I believe this comes from rrd_client.c in response_read:
  buffer_ptr = fgets (buffer, sizeof (buffer), sh);
  if (buffer_ptr == NULL)
    return (-3);
  chomp (buffer);

Seems to me that this is to be expected:
       "gets() and fgets() return s on success, and NULL on error or 
when end of file  occurs
       while no characters have been read."

The proper error handling to close the connection seems to be missing?

Thorsten



More information about the rrd-developers mailing list