Disk usage discrepancy?

Does your node receives bloom filters from the satellites? You need to search in your logs for piecestore:retain or retain they shows receiving of bloom filters.
For their processing there are should be lines

  • gc-filewalker (I believe only for piecestore)
  • for hashstore something like INFO hashstore iterated pieces for retain {"Process": "storagenode", "satellite": "121RTSDpyN...", "duration": "45.12ms", "pieces_checked": 1420551} and INFO hashstore queued pieces for trash {"Process": "storagenode", "satellite": "121RTSDpyN...", "pieces_queued": 1422, "bytes_to_reclaim": 421890021},
  • for the filter processed INFO retain bloom filter process completed {"Process": "storagenode", "Satellite ID": "121RTSDpyN...", "duration": "1m12s", "status": "success"}
docker logs storagenode 2>&1 | grep -E "retain|hashstore.*pieces"

For deleting from the disk: hashstore + reclaim or compaction.

docker logs storagenode 2>&1 | grep -E "hashstore.*reclaim|compaction"

The logs show reclaim and compaction tasks running without any errors. retain was only found for us1, but I recreated the container this morning, so maybe I just need to wait a bit longer.

I also found some interesting data when comparing the folder sizes across nodes using du -sh:
ap1 - Average disk space: 161 GB, du -sh: 204G
us1 - Average disk space: 3.42TB, du -sh: 3.6T
eu1- Average disk space: 1.01 TB, du -sh: 5.3T

Also, the db folder on ap1 and eu1 has an excessive amount of .dat files—way more than any other node:

ls qstuylguhrn2ozjv4h2c6xpxykd622gtgurhql2k7k75wqaaaaaa/ | wc -l
120
ls v4weeab67sbgvnbwd5z7tweqsqqun7qox2agpbxy44mqqaaaaaaa/ | wc -l
36

Of course, more usage - more dat files. Please post logs when you find retain for EU1 and AP1.

Looks like this node isn’t getting bloom filters from eu1 and ap1. Only us1 and saltlake in the logs for the past 4 days.

grep retain
2026-06-21T21:55:38Z INFO retain Retain job queued {process: storagenode, cache_path: config/retain, satellite_id: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S}
2026-06-21T21:55:38Z INFO retain Prepared to run a Retain request. {process: storagenode, cache_path: config/retain, created_before: 2026-06-18T01:15:10Z, filter_size: 10331848, satellite_id: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S}
2026-06-21T21:55:38Z INFO retain Moved pieces to trash during retain {process: storagenode, cache_path: config/retain, deleted_pieces: 0, failed_to_delete: 0, pieces_failed_to_read: 0, pieces_count: 0, satellite_id: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S, duration: 1.008967ms, retain_status: enabled}
2026-06-23T13:07:42Z INFO retain Retain job queued {process: storagenode, cache_path: config/retain, satellite_id: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S}
2026-06-23T13:07:42Z INFO retain Prepared to run a Retain request. {process: storagenode, cache_path: config/retain, created_before: 2026-06-19T16:15:32Z, filter_size: 10364092, satellite_id: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S}
2026-06-23T13:07:42Z INFO retain Moved pieces to trash during retain {process: storagenode, cache_path: config/retain, deleted_pieces: 0, failed_to_delete: 0, pieces_failed_to_read: 0, pieces_count: 0, satellite_id: 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S, duration: 3.41548ms, retain_status: enabled}
2026-06-23T22:45:51Z INFO retain Retain job queued {process: storagenode, cache_path: config/retain, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE}
2026-06-23T22:45:51Z INFO retain Prepared to run a Retain request. {process: storagenode, cache_path: config/retain, created_before: 2026-06-20T16:19:54Z, filter_size: 8830, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE}
2026-06-23T22:45:51Z INFO retain Moved pieces to trash during retain {process: storagenode, cache_path: config/retain, deleted_pieces: 0, failed_to_delete: 0, pieces_failed_to_read: 0, pieces_count: 0, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE, duration: 1.570669ms, retain_status: enabled}

Weird, asked the team to verify EU1 and AP1 bf generation

EU1 and AP1 sending BF (at least they were sent 2026-06-25 - EU1 and 2026-06-26 - AP1), did you receive them?

I have a 2GB log limit set. Right now, the earliest event is 2026-06-26t00:15:14z info piecestore downloaded, and because of that, running grep for ‘retain’ only shows results for saltlake:

grep retain
2026-06-26T17:28:06Z INFO retain Retain job queued {process: storagenode, cache_path: config/retain, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE}
2026-06-26T17:28:06Z INFO retain Prepared to run a Retain request. {process: storagenode, cache_path: config/retain, created_before: 2026-06-22T19:00:10Z, filter_size: 5941, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE}
2026-06-26T17:28:06Z INFO retain Moved pieces to trash during retain {process: storagenode, cache_path: config/retain, deleted_pieces: 0, failed_to_delete: 0, pieces_failed_to_read: 0, pieces_count: 0, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE, duration: 3.383974ms, retain_status: enabled}
2026-06-28T22:13:07Z INFO retain Retain job queued {process: storagenode, cache_path: config/retain, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE}
2026-06-28T22:13:07Z INFO retain Prepared to run a Retain request. {process: storagenode, cache_path: config/retain, created_before: 2026-06-25T16:04:16Z, filter_size: 5926, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE}
2026-06-28T22:13:07Z INFO retain Moved pieces to trash during retain {process: storagenode, cache_path: config/retain, deleted_pieces: 0, failed_to_delete: 0, pieces_failed_to_read: 0, pieces_count: 0, satellite_id: 1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE, duration: 3.096507ms, retain_status: enabled}

I’ll increase the log size, but it looks like ap1 wasn’t even there, and we can’t tell about eu1 anymore. However, the garbage and reclaim sizes are too small for such a big discrepancy.

Please also show, how much reclaimable

with --hashstore.compaction.alive-fraction=0.6

Please install stbb from GitHub - elek/stbb · GitHub and run this command (replace the path to yours):

stbb hashstore stat /opt/storj/storagenode1765/hashstore/12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs/s0/meta/hashtbl-00000000000001b8

and for s1 too