@ask
On the other side of the leap second, what to do about servers that are now 1 second off? Under the current scheme, it can take them about 100 minutes [edit: or about 110] to leave the pool. For example:
1483233900,"2017-01-01 01:25:00",0.987508058547974,-2,8.9,0
1483232417,"2017-01-01 01:00:17",0.991002321243286,-2,11.4,0
1483231040,"2017-01-01 00:37:20",0.99502968788147,-2,14.1,0
1483229629,"2017-01-01 00:13:49",0.999479174613953,-2,17,0
1483228172,"2016-12-31 23:49:32",-0.00108015537261963,1,20,0
From Monitor.pm
:
if ($offset_abs > 3 or $status->{stratum} >= 8) {
$step = -4;
# [...]
}
elsif ($offset_abs > 0.75) {
$step = -2;
}
What if it was changed to take 5-10 points if they’re > 0.9 seconds off? Or 0.9 - 1.1?
That would be a simple change, and beneficial to SNTP clients from around 00:30-01:30 after a leap second.
More complicated rules might be better, but that should be good enough. (Only punish ~1.0 second servers on a leap second day? Don’t be so harsh if they already have a low score, so they don’t get to -100 in a few hours?)
Edit: Or have the monitoring system run a special check a few seconds after a leap second, instead of waiting up to ~15 minutes for the normal scheduled check.
Edit (06:46): I unwittingly edited out three of the more important lines of code.