advertised bandwidth in server status is updated with future value
Looking at the server descriptors of https://metrics.torproject.org/rs.html#details/F3A7DD1B9C818B90F88C5770C185A84438CC7647 for the last week we get:
+------------------------------------------+------------------------------------------+------------------------------------------+
| published | uptime | bandwidth_observed |
+------------------------------------------+------------------------------------------+------------------------------------------+
| 2024-09-25 09:05:18 | 1504991 | 80906084 |
| 2024-09-26 03:05:44 | 1569817 | 80906084 |
| 2024-09-26 21:06:13 | 1634646 | 80906084 |
| 2024-09-27 15:06:33 | 1699466 | 80906084 |
| 2024-09-28 09:06:57 | 1764290 | 80906084 |
| 2024-09-29 03:07:33 | 1829126 | 80906084 |
| 2024-09-29 21:08:08 | 1893961 | 80906084 |
| 2024-09-30 15:08:28 | 1958781 | 26582001 |
| 2024-10-01 09:08:42 | 2023595 | 21492014 |
+------------------------------------------+------------------------------------------+------------------------------------------+
Alright, looking at the statuses from 2024-09-30 we get:
+------------------------------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| fingerprint | nickname | published | advertised_bandwidth |
+------------------------------------------+------------------------------------------+------------------------------------------+------------------------------------------+
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 00:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 01:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 02:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 03:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 04:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 05:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 06:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 07:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 08:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 09:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 10:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 11:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 12:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 13:00:00 | 80906084 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 14:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 15:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 16:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 17:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 18:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 19:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 20:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 21:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 22:00:00 | 26582001 |
| F3A7DD1B9C818B90F88C5770C185A84438CC7647 | Echidna1 | 2024-09-30 23:00:00 | 26582001 |
+------------------------------------------+------------------------------------------+------------------------------------------+------------------------------------------+
The interesting part happened at the 2024-09-30 14:00:00 status. Suddenly advertised_bandwidth
is picking up the future observed bandwidth change (in the descriptor published at 2024-09-30 15:08:28) already. The expectation would be, though, that the changed advertised bandwidth would start with statuses published 2024-09-30 16:00:00 instead.
I've seen that behavior elsewhere, too. So, it's not just a single instance where that showed up.
However, the bigger question is: are other values (not just advertised bandwidth) affected as well and how the heck is that even happening?