Numerical statistics are truncated to 32-bits on export
Summary
In BIND statistics, values larger than 4294967295 overflow during export. E.g. any server which processes more 4294967295 queries will see nonsense in statistics. This can conceivably happen in practice within a single day if server is handling sustained ~ 50 k QPS.
Internally tracking still works up to 2^63-1, i.e. 9223372036854775807, but there is no way to get the data out without using debugger.
BIND version used
Broken by 4e5edb35, MR !1493 (merged).
- Affects v9.19: f8fece81bf651275c3914d2559717943228a4cfd
- Affects v9.18: acf55e12
- Affects v9.16: 161d69ab
Steps to reproduce
It's kinda lengthy. Just do 2^32 queries and check /json/v1/server opcodes[] stats to see if they ever exceed 2^32-1.
What is the current bug behavior?
Counters are not monotonic because of the overflow during export.
What is the expected correct behavior?
No information loss.