This, in turn, causes the JSON encoder to fail. Removing those entries temporarily fixed the issue, but as they are regenerated at least on every restart, the issue appears again after some time.
It looks like the issue has been there before, but manifested differently.
The issue only appears in combination with a Prometheus Exporter, so only if the API endpoint is being used. In particular, it only happens when loading Statistics for a particular Satellite via /api/sno/satellite/<id>. (Only with the satellite which has rows with invalid data in storage_usage.db)
With v1.68.2 the API would return an error message in the API response. With v1.69.2 and later, the API response is empty and an error message is printed on stderr instead.
I have tried it again today and I am not able to reproduce the issue anymore. The root cause of this issue probably is the invalid data in storage_usage.db, but I was unable to figure out how this is generated in a reasonable amount of time.
I use api requests every day, and i have seen something like that on 1.68 version, for some reason error was only in first part of the day, later it worked fine. so i think somewhere divide by zero or to small number marked error.
Also this error was only on part of my nodes, i have 70 of them. about 30-40% of them
I dont have prometeus, i have my own app that read json from api.
I believe you are correct that there might be a divide by zero condition occurring. There was also an issue where the calculation wasnât using the correct units which could cause a similar issue similar to what you mentioned with dividing by too small a number. The second issue was discovered and is resolved in the next release. If after upgrading you still have problems please let us know and we can investigate further.