Hi,
I operate multiple storage nodes across multiple independent hosts. The sample is large and diverse enough to make the pattern statistically meaningful.
I am comparing the local live usage reported by the node with the per-satellite at-rest accounting:
local live bytes = diskSpace.used - diskSpace.trash - diskSpace.reclaimable
The satellite side comes directly from /api/sno/satellite/<satellite-id>. For comparisons I only use a completed UTC day that is available for all satellites and has a plausible intervalInHours value (greater than 0 and no more than 168). Trash and hashstore reclaimable bytes are therefore already excluded from the local value.
From the data it looks like there are two separate problems, and the recent accounting issue alone does not explain the whole delta.
1. Broken/missing at-rest intervals caused a sudden additional jump
Across essentially all measured nodes in the sample, on multiple hosts, US1 currently returns the same malformed rows in the raw SNO API:
| UTC date | intervalInHours | atRestTotalBytes |
|---|---|---|
| 2026-07-20 | 11 | normal value |
| 2026-07-21 | -17,755,584 | 0 |
| 2026-07-22 | 0 | 0 |
This is not introduced by my monitoring code; these values are present in the node’s own SNO API. The synchronized dates across independent hosts also make a single database, disk, or host problem very unlikely.
The nodes are not blocking the satellites. Current PUTs, GETs, repair traffic and audits are arriving, and audit/suspension scores are healthy. The same nodes communicate with all satellites normally.
There were isolated malformed or missing intervals in earlier months as well, often on the same dates across nodes. May was clean in the representative histories I checked; June already had a cluster, and July has become much more frequent. This looks related to the problem discussed here:
In my monitoring, some individual nodes moved from roughly the previous 15-20% delta range toward about 70% within roughly two days. The normal node-to-node median increase was much smaller, so the extreme values are not representative of every node, but the timing strongly correlates with the malformed intervalInHours rows and the missing newer common accounting day.
2. A large delta already existed before July 21
The malformed July 21/22 rows cannot explain the whole problem. Before July 21, local live usage was already increasing while satellite at-rest accounting did not follow it sufficiently, and many nodes already showed a persistent delta around 15-20% or higher.
The latest host-level medians in the sample are approximately:
| Storage layout | Median local-live minus satellite-at-rest gap |
|---|---|
| Mixed piecestore + hashstore | about 18-23% |
| Pure hashstore | about 14-22% |
So this is not limited to nodes that still use both piecestore and hashstore. Fully migrated hashstore nodes show the same underlying pattern, although the distribution differs by host and node.
Why compaction does not seem to explain it
Hashstore compaction is active. The configured thresholds are 0.60 or 0.75, and the current maximum compaction lag in the measured set is about two days. On some nearly full nodes compaction demonstrably released real filesystem space (for example, nodes with only a few GB free gained around 100 GB and then began filling again). So compaction itself is doing real work locally.
Nevertheless, the satellite-vs-local-live delta remained large. The currently distributed bloom filters are old (roughly 22-30 days), and there were no new filter updates during the last seven days. I understand that stale bloom filters can leave recently deleted pieces locally until a newer filter arrives. However, the size and historical baseline of the observed delta appear much larger than what the age of the latest bloom filter alone would explain, especially because:
- trash and reclaimable data are excluded from the local value;
- compaction has run recently;
- the issue also exists on pure hashstore nodes;
- the baseline delta was already around 15-20% before the malformed July 21/22 accounting rows;
- and recent local live usage continued to grow while the newest valid satellite at-rest day stayed behind.
Questions
- Are the negative/zero US1 intervals on July 21/22, plus the earlier synchronized missing days, a known current satellite tally problem?
- Will those missing daily rows be backfilled or corrected in the SNO API, so the at-rest history catches up automatically?
- Can these missing intervals affect the final monthly storage payout, or only the dashboard/history display?
- What is the expected difference between local live bytes (used minus trash/reclaimable) and satellite at-rest bytes on a healthy node?
- What can explain a persistent 15-20%+ baseline gap on pure hashstore nodes after compaction, apart from pending deletions covered by future bloom filters?
- Is a 22-30 day-old bloom filter currently expected, and can the satellite estimate how much unreferenced data should normally accumulate during that period?
- Is there any safe operator action, or should operators simply wait for corrected tally data and newer bloom filters?
I can provide per-day/per-satellite raw API extracts and distributions if that would help. The sample spans multiple nodes, disks and independent hosts, so the pattern is not based on one anomalous node.
