From 91041ead33655df6be8f4577efe35b8b8bddc870 Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Wed, 7 Oct 2015 12:51:33 +0300 Subject: [PATCH] collectd: Delay first data read cycle by 1s Some collectd plugins launch third-party plugins that have variation in initialisation time (like libpcap). Recently (since kernel bump to 4.1) the DNS plugin has been causing collectd to crash semi-randomly at startup on MIPS based WNDR3700. Debugging led to realisation that the DNS plugin seems to require at least 0.1s time to start, before the first data reading attempt starts. By default, the first data read cycle starts immediately, while apaprently some of the plugins may still be asyncronously initialising. To make things safe, this patch adds 1 second delay before the first data read cycle. Signed-off-by: Hannu Nyman --- .../patches/300-delay-first-read-cycle.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 utils/collectd/patches/300-delay-first-read-cycle.patch diff --git a/utils/collectd/patches/300-delay-first-read-cycle.patch b/utils/collectd/patches/300-delay-first-read-cycle.patch new file mode 100644 index 000000000..9a60cc464 --- /dev/null +++ b/utils/collectd/patches/300-delay-first-read-cycle.patch @@ -0,0 +1,12 @@ +--- a/src/daemon/plugin.c ++++ b/src/daemon/plugin.c +@@ -1149,7 +1149,7 @@ static int plugin_insert_read (read_func + int status; + llentry_t *le; + +- rf->rf_next_read = cdtime (); ++ rf->rf_next_read = cdtime () + (cdtime_t) 1073741824; //delay first read 1s + rf->rf_effective_interval = rf->rf_interval; + + pthread_mutex_lock (&read_lock); +