- router
useall
is now also allowed forforward
andfailover
clusters - server hostnames are now re-resolved at every connect Issue #115
- server when connecting to a hostname, now /all/ resolved addresses are tried in order before failing
- relay A new
-O
flag allows to set the minimum rules threshold before trying to optimise the rules.
- Issue #246
using
stop
in amatch
tule does not stop metrics from being processed afterwards - Issue #206 some metrics are randomly prefixed with garbage characters
- Issue #239 segfault when date format is incorrect
- Issue #242 dispatcher/aggregations broken (relay seems too slow)
- router
match
rules now support avalidate
clause to do data filtering, Issue #228, Issue #142, Issue #121, Pull #127, Pull #87.
- server connection errors are no longer endlessly repeated
- Issue #240 'include' directive doesn't care about rewrites.
- Issue #241 XXX characters being prepended to metrics when sent via UDP
- Issue #204 relay is sending data randomly while kill -HUP happens
- Issue #213 Change to aggregates to not cause HUP to reload when more than 10 aggregates are defined.
- Issue #214
-U
option doesn't set UDP receive buffer size. - Issue #218 zeros inserted after some metrics.
- Issue #219 should fail if port is unavailable
- Issue #224 segfault during SIGHUP
- relay socket receive and send buffer sizes can be adjusted
the
-U
option was introduced to allow setting the socket buffer size in bytes, Issue #207.
- relay the listen backlog default got increased from 3 to 32
- server TCP_NODELAY is now set to improve small writes
- Issue #188 SIGHUP leads to SIGSEGV when config didn't change, or a SIGHUP is received while a previous HUP is being processed
- Issue #193 race condition in aggregator leads to crash
- Issue #195 assertion fails when reloading config
- Issue #200 use after free during shutdown in aggregator
- Issue #203 change default connection listen backlog
- Issue #208 TCP_NODELAY should be off for connections relaying data
- Issue #199 Various race conditions reported by TSAN
- router the optimiser now tries harder to form groups of consecutive rules that have a matching common pattern
- Issue #180 include directive possibly overrides previous included components
- Issue #184 router optimise doesn't work correctly with regex groups
- router
include
directive was added to add content of another file, see also Issue #165. The include can also use glob patterns, see Pull #174 - server the number of stalls performed on writes can now be
controlled (and also disabled) using the
-L
flag. Issue #172
- server incomplete writes are now retried a couple of times before they are considered fatal. This should reduce the amount of messages in the logs about them, and be more like the consumer expects, e.g. less sudden disconnects for the client.
- router reloading the config now prints the difference between the
old and the new config in
diff -u
format. - router reloading the config now maintains the queues for the servers, such that unavailable servers don't get metrics dropped.
- Issue #154 when a store becomes a bottleneck it shouldn't indefinitely stall
- Issue #164 config reload should re-use unmodified servers
- router
send statistics to
construct was added to direct internal statistics to a specific cluster
- collector UDP connections are now suffixed with
-udp
in destination target
- Issue #159 corrupted statistics for file clusters
- Issue #160 metricsBlackholed stays zero when blackhole target is used
- statistics dispatch_busy and dispatch_idle have been replaced with wallTime_us and sleepTime_us
- Issue #152 crash in aggregator_expire for data-contained aggregations
- statistics dispatch_busy is slightly more realistic now
- Issue #153
aggregator statistics are garbage with
-m
- relay new flags
-D
for daemon mode and-p
for pidfile creation
- dispatcher server stalling (to slow down too fast writers) is now based on a random timeout
- server write timeout is now large enough to deal with upstream relay stalling
- relay number of workers/dispatchers is now determined in a way that doesn''t need OpenMP any more
- relay new flag
-B
to set the listen backlog for TCP and UNIX connections, issue #143
- dispatcher switch from select() to poll() to fix crashes when too many connections were made to the relay
- Misc (memory) leak fixes
- relay startup and shutdown messages are now better in line
- relay fixed segfault when issuing
SIGHUP
under active load
- aggregator metrics are now written directly to dispatchers to avoid overload of the internal_submission queue, which is likely to to happen with many aggregates
- collector properly report file-based servers in statistics
- collector re-introduce the interal destination in statistics
- collector when run in debug and submission mode, there is a iostat like output
- relay reloading config now no longer unconditionally starts the aggregator
- aggregator misc cleanup/free fixes
- relay allow reloading aggregator
- Issue #133 _stub_aggregator metrics seen after a reload
- consistent-hash fix jump_fnv1a_ch metric submission, it didn''t work at all
- Issue #126 double free crash
- Issue #131 segfault using stddev in aggregator
- Issue #132 crash with glibc double free message
- consistent-hash new algorithm jump_fnv1a_ch for near perfect distribution of metrics
- distributiontest test program used to see unbalancedness of clusters for a given input metric see graphite-project/carbon#485
- router fix cluster checking with regards replication count and the number of servers to allow equal counts
- Issue #126 prevent calling read() too often
- router fix distribution of any_of cluster if members have failed
- many improvements
- Many aggregator improvements, more flexible routing support.
- Feature to set hash-keys for fnv1a_ch.
- Bugfix release for segfault when using any_of clusters.
- Reduced warning level for submission mode queue pileups. Allow writing to a file (cluster type). Fix splay on aggregator not to affect timestamps of input. No more dep on openssl for md5.
- Hefty optimisations on aggregations. Fix for UDP port closure.