Running used-space-filewalker on demand


Is it possible to run used-space-filewalker on demand on the node running with “storage2.piece-scan-on-startup: false” (docker container)?

As I see, normally when “storage2.piece-scan-on-startup” is enabled, filewalker process is running with command

/app/storagenode used-space-filewalker --storage config/storage --info dbs/piecestore.db --info2 dbs/info.db --pieces config/storage --driver --filestore.write-buffer-size 8.0 MiB --filestore.force-sync=false --log.output stderr --log.encoding json --lower-io-priority=true

But when I try to exec similar command in docker container manually with

docker exec -it storagenode1 /app/storagenode used-space-filewalker --storage config/storage --info dbs/piecestore.db --info2 dbs/info.db --pieces config/storage --driver sqlite3 --filestore.write-buffer-size 8.0MiB --filestore.force-sync=false --log.output stderr --log.encoding json --lower-io-priority=true

  • it just does nothing. Process is running, but I don’t see any disk readings typical for filewalker. What am I doing wrong?
1 Like

So if you enable the filewalker for regular startup and restart the node… it works properly? But you’re trying to leave it disabled (so it’s not triggered on start) and run it later?

Exactly! And when I start it manually, it does nothing.

Because you disabled it in the config.
You may try to enable it back in this command by adding the command line option --storage2.piece-scan-on-startup=true

Unfortunately, adding this command line option to the command starting filewalker on already running none with disabled storage2.piece-scan-on-startup doesn’t have an effect.
(the idea is to run filewalker, but not automatically and not at node startup)

Then you have only the one way: script it. I.e. enable and restart. Then disable. The next restart would be performed next time. Because this filewalker is running only on restart, so doesn’t make any sense to restart the node, when it’s disabled.
For me it is much more simplest way.

1 Like