When will trash update?

My trash on many of my dashboard wont decrease even when alot of trash has been deleted.

image

Which results that i dont get any incoming data cause the nodes thinks its full.

Its been over 120TB trash for over 3 weeks now.

2 Likes

Are you getting any errors in the logs?

If I dont remember incorrectly, the used space file walker should also check for files in trash, therefore running it should force update the DBs.

1 Like

Since the introduction of the lazy trash-cleanup-filewalker, it appears that it no longer updates the trash usage in the database after emptying trash.

Your options to obtain the true trash value are:

  1. Run the used-space-filewalker
  2. Manually obtain the trash usage in bytes and update the database. For example, assuming you have sqlite3 installed:
DATABASE_PATH=/your/path/to/directory/that/contains/storj/dbs
TRASH_PATH=/your/path/to/storj/node/trash/data
NODE_DOCKER_NAME=storagenode

TRASH_USED_BYTES=$(du -sb "$TRASH_PATH" | cut -f1)
sqlite3 "$DATABASE_PATH"/piece_spaced_used.db "PRAGMA journal_mode=WAL; UPDATE piece_space_used SET total = $TRASH_USED_BYTES WHERE satellite_id = 'trashtotal';"
docker container restart $NODE_DOCKER_NAME

Either way, to maintain the truth of this trash value, you will need to disable the lazy filewalker or wait for the lazy trash-cleanup-filewalker to be fixed.

1 Like

Well the trash has been deleted as the used data in the example above. is 7 TB and i have 7.7TB used according to the OS and 8,14TB free. So i do not have 9TB trash it should remove that from the numbers in the dashboard cause that is not correct.

gahh… so much issues all the time…

When will you fix this issue storj?

1 Like

Turn the lazzy walker off by setting false in config or docker run.
Turn the start up piece scan on, by setting it to true.
Restart the node. Let it finish the walk; it can take days.
The values will be updated.

1 Like

I would notify the team, but the work likely will speed-up if you would like to help, could you please submit an issue on Issues · storj/storj · GitHub or send a pull request? - we glad to accept any contribution from the Community!

Do we need that for a simple recalculation?
Wouldn’t the used space file walker go over the trash as well?

For recalculation the enabled scan on startup is enough, but to keep databases updated you seems need to turn off the lazy mode.

Even with lazyfilwwalker turned off it won’t work.
Enable pieces scan on startup also not working.
I’ve commented both and now I’m just leaving it to run.
I have this issue for almost 2 months now.

I can confirm. I restarted the nodes which had enabled scan on startup and all of them updated the trash space.
So even the nodes that had reported as full are now receiving ingress again.

2 Likes

If you commented out both, then your node uses the lazy mode and the used-space-filewalker on start.

This is my node’s config:

“storage2.piece-scan-on-startup: true”
“# pieces.enable-lazy-filewalker: false”

What should I set in order to have this working?

Just let the scan finish

2 Likes

To fix the current discrepancy the enabled used-space-filewalker on start is enough (you may comment out the option storage2.piece-scan-on-startup: true, because this is a default value).

But to keep the trash usage updated on your dashboard you may temporary disable the lazy mode, i.e. uncomment the option # pieces.enable-lazy-filewalker: false,
So the resulted settings change may look like:

# storage2.piece-scan-on-startup: true
pieces.enable-lazy-filewalker: false

save the config and restart the node.

When the used-space-filewalker will finish its work for all satellites, it will update databases with collected values and your dashboard should show less discrepancy. The disabled lazy mode will allow all remained filewalkers run with a normal priority and updates databases in time, so discrepancy should become negligible.
In any case you will need to wait until all of them will finish their work for all trusted satellites:

1 Like